Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrated code lifecycle: Add filter and search to finished build jobs #8702

Conversation

BBesrour
Copy link
Member

@BBesrour BBesrour commented May 30, 2024

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
  • I strictly followed the server coding and design guidelines.
  • I documented the Java code using JavaDoc style.

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Motivation and Context

To make it easier for admins to navigate through the finished build jobs, we want to add a filter/search feature for these criteria: status, build agent, build start date, build duration, and a search field for build jobs for specific users and courses

Description

Client: added the necessary UI for the filter. Also filters should be saved in localStorage in case of page reload
Server: Added a query according to the required criteria (for searching for user, instead of querying the actual user, we check the username in the repository name)

Steps for Testing

Prerequisites:

  • Integrated code lifecycle setup
  • 1 Admin
  • At least 2 courses
  • At least 2 users
  • Participations in both courses by both users
  1. Navigate to Server Administration > BuildQueue > Finished build queue
  2. Play around with the filter and make sure that the results are correct (preferably test locally for a controlled number of build jobs)
  3. Navigate to Course Management > Select a course > Build Queue (top right)
  4. Play around with the filter and make sure that the results are correct

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked






Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Screenshots

image
image

Summary by CodeRabbit

  • New Features

    • Introduced enhanced filtering options for finished build jobs in the build queue.
    • Added new methods to query build jobs by various criteria such as build status, dates, and duration.
  • Refactor

    • Improved layout and functionality of the build queue section to enhance user experience.
  • Documentation

    • Updated documentation for newly introduced methods and functionalities.

…cle/add-filter-search-finished-buildjobs

# Conflicts:
#	src/main/java/de/tum/in/www1/artemis/web/rest/admin/AdminBuildJobQueueResource.java
- fix http params issues
- fix rendering issues
- handle filter in course view
@BBesrour BBesrour self-assigned this May 30, 2024
@github-actions github-actions bot added server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) labels May 30, 2024
@github-actions github-actions bot added the tests label May 31, 2024
@krusche krusche modified the milestones: 7.2.2, 7.2.3 Jun 16, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

coderabbitai[bot]
coderabbitai bot previously approved these changes Jun 21, 2024
…cle/add-filter-search-finished-buildjobs

# Conflicts:
#	src/main/java/de/tum/in/www1/artemis/repository/BuildJobRepository.java
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Copy link
Contributor

@pzdr7 pzdr7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code

Copy link
Contributor

@muradium muradium left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reapprove - conflict fixes

Copy link
Contributor

@yassinsws yassinsws left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reapprove

Copy link
Contributor

@sarpsahinalp sarpsahinalp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reapprove

@krusche krusche changed the title Integrated code lifecycle: Add filter/search to finished buildjobs in buildQueue view Integrated code lifecycle: Add filter and search to finished build jobs Jun 21, 2024
@krusche krusche merged commit f2c2b9a into develop Jun 21, 2024
27 of 30 checks passed
@krusche krusche deleted the feature/integrated-code-lifecycle/add-filter-search-finished-buildjobs branch June 21, 2024 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) ready to merge server Pull requests that update Java code. (Added Automatically!) tests
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

10 participants