Skip to content

Releases: apluslms/gitmanager

Release v1.19.2, June 2023

29 Jun 15:07
Compare
Choose a tag to compare

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 when settings.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

22 Jun 16:38
Compare
Choose a tag to compare

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

18 Jun 20:17
Compare
Choose a tag to compare

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 file courses/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 the CHANGED_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

18 Jun 18:55
Compare
Choose a tag to compare

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

17 Mar 17:32
Compare
Choose a tag to compare
  • 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

10 Feb 20:00
Compare
Choose a tag to compare

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

01 Feb 17:44
Compare
Choose a tag to compare

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

17 Nov 15:58
Compare
Choose a tag to compare

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

19 Sep 15:13
Compare
Choose a tag to compare
  • 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

01 Sep 14:41
Compare
Choose a tag to compare

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 and exercises.
    • This may be used to avoid deleting some of the previously built output files if their removal is time consuming.
  • 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 setting BUILD_MODULE. It may be used to change the default script scripts/docker_build.py.

Release notes (the page will be published when A+ v1.17 is released):
https://apluslms.github.io/releases/v1_17.html