Releases: apluslms/gitmanager
Release v1.19.2, June 2023
No functional changes for endusers.
For developers:
- run-gitmanager container: fixed a crash at the end of the course build when
git clean
is run. The course directory was missing the.git
directory whensettings.LOCAL_COURSE_SOURCE_PATH
is used, but it is now included.
Release notes:
https://apluslms.github.io/releases/v1_19.html
Release v1.19.1, June 2023
Changes:
- In the course updates (build log) view, added a button to scroll to the bottom of the update entry.
- Build error messages are typically printed at the end, so reaching the end easily is useful.
For system administrators and developers:
- run-gitmanager container image supports multiarch container images (amd64/arm64)
(boosts the performance on Apple Silicon Mac computers).
Release notes:
https://apluslms.github.io/releases/v1_19.html
Release v1.19.0, June 2023
Changes:
- Added validation for LTI v1.3 assignment-related settings (LTI Platform v1.3 feature added to A+).
- Course build performance improvements:
git clean
is run at the end of the build instead of the start.- Use
rsync
for copying files between the build stages. - The build container may use a new environment variable
CHANGED_FILES
. It lists course files that have changed since the last successful build. This can be used to optimize the course build script, e.g., by avoiding creating archive files when the contents have not changed.
See the filecourses/README.md
for more information. - The web user interface for manually triggering new builds includes an option to set
CHANGED_FILES
to*
. The purpose is to force a full rebuild if the course build script uses theCHANGED_FILES
variable.
- During a course build, the build log is updated between build stages.
- Added course build performance statistics to the end of the build log.
For system administrators and developers:
- Build containers are removed after finishing instead of leaving them hanging.
- Updated the pydantic and requests-toolbelt pip packages to resolve compatibility issues between libraries.
rsync
must be installed in the gitmanager and huey worker servers.- Added new unit tests.
Release notes:
https://apluslms.github.io/releases/v1_19.html
Release v1.18.0, March 2023
This is identical to v1.17.5. This is tagged again so that it matches the A-plus version 1.18.
Release notes:
https://apluslms.github.io/releases/v1_17.html
https://apluslms.github.io/releases/v1_18.html
Release v1.17.5, March 2023
- No code changes.
- Fixed settings in the apluslms/run-gitmanager:1.17 Docker container image.
- Added aplus-auth keys for Radar so that the run-radar container may download exercise templates from the gitmanager.
Release notes:
https://apluslms.github.io/releases/v1_17.html
Release v1.17.4, February 2023
Bug fix:
Added validation for the assignment grading mode setting.
The setting was missing in the validation and the course build used to fail if the course used the setting at all.
Release notes:
https://apluslms.github.io/releases/v1_17.html
Release v1.17.3, February 2023
Bug fix:
Added validation for the assignment feedback and model solution reveal rules.
These settings were missing in the validation and the course build used to fail if the course used the settings at all.
Release notes:
https://apluslms.github.io/releases/v1_17.html
Release v1.17.2, November 2022
Changes
-
Fixed failures in accessing the course during a running course build in the end of the build publish stage.
If the course includes or creates hundreds of files in the build, the course used to become temporarily broken at the end of the course build while temporary files were being removed. This has been fixed so that the previous course build is available until the new course build has been finished and the Gitmanager course cache has been updated.
This issue affected mainly complex course implementations such as the Aalto Programming 1 (O1) course.
For developers
- Added support for the LTI parameters in MOOC-Grader v1.16.1. Gitmanager exports the configured LTI settings in the aplus-json output for MOOC-Grader assignments so that the A+ front sets those assignments as LTI assignments.
Release notes (the page will be published when A+ v1.17 is released):
https://apluslms.github.io/releases/v1_17.html
Release v1.17.1, September 2022
- No code changes.
- Fixed settings in the apluslms/run-gitmanager:1.17 Docker container image.
Release notes (the page will be published when A+ v1.17 is released):
https://apluslms.github.io/releases/v1_17.html
Release v1.17.0, September 2022
This release focuses on improving slow course build times.
Gitmanager v1.17.0 is compatible with A-plus v1.16 and MOOC-Grader v1.16.
Changes
- Enabled multiple concurrent course build jobs. (#21)
- Previously, only one build job could be running in the system at a time. Now, multiple course instances may have build jobs running concurrently. One course instance may have at most one build job running.
- Added option to specify exclude patterns for git clean.
- New option
exclude_patterns
in apps.meta under the course git repo. - Matched files are not removed during the clean at the start of a build.
- For example,
exclude_patterns = _build exercises
lists two separate directores,_build
andexercises
. - This may be used to avoid deleting some of the previously built output files if their removal is time consuming.
- New option
- Added option to build directly in the course publish directory.
- Option "skip build failsafes" in the Git manager course instance settings.
- When enabled, the recovery functionality does not work anymore: if the course build breaks something, the course will be broken until it is fixed with a new build.
- Graders are configured during the aplus-json request (course import in the A+ frontend): every time someone clicks "apply" under the A+ Edit course section, the grader is configured again.
- This mode speeds up the build time because there is no need to copy files between directories, and the grader is only configured during the aplus-json request.
- It is not recommended to import the course in the A+ frontend (that is, send the aplus-json request) while a course is building in the gitmanager if this option is enabled. Since the build directly modifies the publish directory, the results of aplus-json become unpredictable during a running build.
For system administrators
- Added Django manage.py command for flushing the Huey storage:
manage.py flush_huey
- Huey is the framework used for asynchronous task queue.
- Huey stores a lock for the course build job so that multiple builds are not started concurrently.
- If a course build is killed abrutly, the lock may stay in the storage and prevent new builds from starting.
- The command is used to flush build job locks from the storage, which allows new builds to start when the locks have become stuck.
- This should be only rarely needed.
- If the new option "skip build failsafes" is used, it may be necessary to modify the build script in order to enable mounting the publish directory (setting
COURSES_PATH
) to the build container. Normally, the build is run in the separate build directory (BUILD_PATH
) and not directly under the publish directory. The build script is defined with the settingBUILD_MODULE
. It may be used to change the default scriptscripts/docker_build.py
.
Release notes (the page will be published when A+ v1.17 is released):
https://apluslms.github.io/releases/v1_17.html