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

Development: Add documentation for build queue view #8453

Merged
merged 29 commits into from
Apr 28, 2024
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d827db8
add docs for repository view
mateusmm01 Apr 16, 2024
c10555c
add docs for build agents view
mateusmm01 Apr 16, 2024
c177644
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
bf36e12
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
bd68e9e
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
d9b9a8c
Update docs/user/exercises/programming.rst
mateusmm01 Apr 16, 2024
d149bdd
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
3079eb7
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
26cbca6
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
5dbf86e
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
d12a85b
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
6cc7bc5
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
ddf2a04
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
43e827f
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
f78aa8c
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 16, 2024
afb19c1
feedback
mateusmm01 Apr 16, 2024
13a5084
Merge branch 'refs/heads/docs/add-repository-user-guide' into docs/ad…
mateusmm01 Apr 16, 2024
e032770
use correct personas
mateusmm01 Apr 17, 2024
3af89a1
Merge branch 'refs/heads/docs/add-repository-user-guide' into docs/ad…
mateusmm01 Apr 17, 2024
bd29ad8
Merge branch 'develop' into docs/add-repository-user-guide
mateusmm01 Apr 17, 2024
a8de7c8
Merge branch 'develop' into docs/add-build-agent-user-guide
mateusmm01 Apr 17, 2024
040805c
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 18, 2024
4fc06d0
Update docs/user/exercises/programming-integrated-code-lifecycle-repo…
mateusmm01 Apr 18, 2024
6c10e71
feedback
mateusmm01 Apr 18, 2024
c2be6e4
Merge branch 'refs/heads/docs/add-repository-user-guide' into docs/ad…
mateusmm01 Apr 18, 2024
f136883
add build queue docs
mateusmm01 Apr 20, 2024
89cd205
Merge branch 'refs/heads/develop' into docs/add-build-queue-user-guide
mateusmm01 Apr 21, 2024
03aa25f
Merge branch 'develop' into docs/add-build-queue-user-guide
Apr 28, 2024
356d55c
improve documentation and apply code review feedback
Apr 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Artemis offers a build agent view that shows the status of all build agents in the system. This view is available only to Administrators.
The build agent view consists of two parts: the *Build Agent Summary View* and the *Build Agent Details*.


The **Build Agent Summary View** shows a list of all build agents in the system, along with their status (idle and running), maximum number of concurrent builds, and running builds.
The running builds can be canceled individually by clicking the red cancellation button next to the build. An Administrator can also cancel all running builds on a build agent by clicking the '*Cancel All*' button.

.. figure:: programming/build-agent-summary.png
:alt: Build Agent Summary View
:align: center

Build Agent Summary View


The **Build Agent Details View** shows detailed information about a selected build agent.
Firstly, it shows the status, maximum number of concurrent builds, and running builds for the build agent.
It offers the same functionality as the *Build Agent Summary View*, allowing the Administrator to cancel all running builds on the build agent.
Secondly, it shows the build agent's 20 recent build jobs. This includes information such as the build job's name, participation ID,status (success with result, failure or canceled),
the submission time, start time, end time, the duration of the build job, the course ID, and the commit hash.
The administrator can click on the participation ID to navigate to the participation's submission page.
The administrator can also click on the commit hash to navigate to the commits details page and the course ID to navigate to the course management page.

.. figure:: programming/build-agent-details.png
:alt: Build Agent Details
:align: center

Build Agent Details
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
Artemis offers a build queue view that shows the all running, queued and finished build jobs.
The build queue of all build jobs is accessible only to **Administrators** and is accessible via the *System Administration* menu.

.. figure:: programming/buildQueueSystemAdministration.png
:alt: Build Queue System Administration
:align: center

Build Queue System Administration

The build queue for a specific course is also accessible to **Instructors** via the *Build Queue* menu in the *Course Management* menu
krusche marked this conversation as resolved.
Show resolved Hide resolved
and shows only the build jobs for the selected course.

.. figure:: programming/buildQueueCourseManagement.png
:alt: Build Queue Course Management
:align: center

Build Queue Course Management

The build queue view is divided into three sections:

Running Build Jobs
""""""""""""""""""
The running build jobs section shows all build jobs that are currently running.
krusche marked this conversation as resolved.
Show resolved Hide resolved
New build jobs are added and removed from the queue in real-time and can be cancelled by the user.
The table shows the following information:

.. figure:: programming/running-build-jobs.png
:alt: Running Build Jobs
:align: center

Running Build Jobs



Queued Build Jobs
""""""""""""""""""
The queued build jobs section shows all build jobs that are currently queued. New build jobs are added and removed from the queue in real-time and can be cancelled by the user.
The table shows the following information:

.. figure:: programming/queued-build-jobs.png
:alt: Queued Build Jobs
:align: center

Queued Build Jobs

Finished Build Jobs
"""""""""""""""""""
The finished build jobs section shows all build jobs that have finished (successfully with or without a result, failed or cancelled).
The finished build jobs are fetched gradually as the user navigates through the pages. The table shows the following information:

.. figure:: programming/finished-build-jobs.png
:alt: Finished Build Jobs
:align: center

Finished Build Jobs



Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
Programming exercises use a version control system called **Git**. Git is a distributed version control system that allows you to track changes in your code.
These changes are stored in a repository. A repository is a collection of files and directories that are tracked by Git.
How to navigate through the repository and view the code is explained in the following sections. This guide is divided into two parts: one for students and one for instructors.
It is demonstrated using course programming exercises, but the same principles apply to exams as well.

For Students
""""""""""""

As a student, you can use the repository to view your course submissions.
To access your submissions, you need to navigate to the exercise and press the '*Open Repository*' button.

.. figure:: programming/open-repository-button.png
:alt: Open Repository Button
:align: center

Open Repository Button

After pressing the button, you will be redirected to the **Current Repository Content** page of the repository.
This view shows the current content of the repository with the latest changes in a read-only code editor. You can view the code, but you cannot edit it.
You can also navigate through the whole code by clicking on the file names in the file browser on the left side.
To the right side of the screen, above the problem statement, you can see the result of the submission. Lastly, you can copy the repository URI by pressing
the '*Clone Repository*' button to clone the repository to your local machine and see the full commit history by pressing the '*Open Commit History*' button.

.. figure:: programming/current-repository-content-view.png
:alt: Current Repository Content
:align: center

Current Repository Content

The *Commit History* page shows all the commits that you uploaded to the repository. The commits are ordered from the latest to the oldest.
You can see the commit message, the author of the commit, the date of the commit, the commit hash and the result of the commit.
If you created a submission with multiple commits, you can see all of them here but only the last commit has the result of the submission.
Lastly, you can also view the code of the commit by pressing on the commit hash.

.. figure:: programming/commit-history-view.png
:alt: Commit History View
:align: center

Commit History View

By clicking on a commit hash, you are redirected to the **Commit Diff** page. This page shows the changes that you made in this commit.
You can see the changes in the code, the files that have been added, the files that have been deleted and the files that have been modified.
Green color indicates the lines that have been added and red color indicates the lines that have been deleted.
You can also see the commit message, the author of the commit, the date of the commit and the commit hash.

.. figure:: programming/commit-diff-view.png
:alt: Commit Diff View
:align: center

Commit Diff View

For Instructors
"""""""""""""""

As an instructor, you can use the repository to view the submissions of your students. For this purpose, you need to navigate to the exercise participations page.
Here you can see all the students’ participations for the exercise and navigate to the repository of a student by pressing the '*Open Repository*' button.
This will show the repository of the student just like it is shown to the student.

.. figure:: programming/participations-open-repository.png
:alt: Open Repository Button in Participations Page
:align: center

Open Repository Button in Participations Page

Furthermore, you can also see the repositories for an exercises **solution**, **template** and **test** repositories.
You can navigate to these repositories by pressing the '*Open Repository*' button in the exercise management page.

.. figure:: programming/course-management-repositories.png
:alt: Solution, Template and Test Repositories in Exercise Management Page
:align: center

Solution, Template and Test Repositories in Exercise Management Page
21 changes: 21 additions & 0 deletions docs/user/exercises/programming.rst
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,24 @@ Each one represents a single test case feedback and should have the format:
Defaults to ``false`` if not present.
* ``message``: The message shown as additional information to the student.
**Required for non-successful tests/feedback**, optional otherwise.


Integrated Code Lifecycle
-------------------------

The following sections describe programming exercise features that are part of the integrated code lifecycle system.

Repository View
^^^^^^^^^^^^^^^

.. include:: programming-integrated-code-lifecycle-repository-view.inc

Build Agent View
^^^^^^^^^^^^^^^^

.. include:: programming-integrated-code-lifecycle-build-agent-view.inc

Build Queue View
^^^^^^^^^^^^^^^^

.. include:: programming-integrated-code-lifecycle-build-queue-view.inc
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export const ITEMS_PER_PAGE = 50;
export const ITEMS_PER_PAGE = 5;
export const ASC = 'asc';
export const DESC = 'desc';
export const SORT = 'sort';
Loading