Jacamar CI v0.26.0

User Changes

  • Introduce new flexibility into scheduler state/stop commands (!595)

    • When utilizing the Slurm executor Jacamar will now attempt to automatically identify user defined --clusters in the job submission and adjust commands accordingly.

    • You can override this behavior or introduce your own required arguments using the JACAMAR_SCHEDULER_STATE_ARGS/ JACAMAR_SCHEDULER_STOP_ARGS CI variables.

  • Observe JACAMAR_SCHEDULER_DEBUG to provide additional context to assist in troubleshooting scheduler interactions (!586)

    • job:
        variables:
          JACAMAR_SCHEDULER_DEBUG: true
      
  • Scheduler Actions are now available by default for the Slurm executor (!597)

Admin Changes

  • Support for multiple defined run_mechanisms (!576)

    • [general]
      run_mechanisms = ["podman", "charliecloud"]
      
    • By default the first valid mechanism in the list is used; however, user can manually propose a specific option with the JACAMAR_RUN_MECHANISM CI variable.

  • Scheduler Actions are now an opt-out behavior (!597)

    • [batch]
      disable_scheduler_actions = false
      
  • Attempt to correct the stack_size where possible automatically (!578)

    • Previously (!501) the behavior was opt-in; however, after feedback we’ve decided to make it the default behavior. Please note that this does not override any hard limits you may place upon users; for instance using systemd.

    • [general]
      disable_limit_mods = false
      
  • Introduces simplified Apptainer support for expanded testing/feedback (!584)

  • Optional user feature flag to test sacct --json support (!591)

    • job:
        variables:
          FF_JACAMAR_SACCT_JSON: true
      
  • Prepare Git file augmentation for server v18 changes (!577, !598)

    • Though these changes are not strictly required to support GitLab v18 (where FF_GIT_URLS_WITHOUT_TOKENS becomes the default behavior for all runner), we do encourage upgrading if you encounter any issues with upgrading or testing that feature flag.

Bug & Development Fixes

  • Improve directory permission checks (!608)

    • Ideally this will reduce the chance of encountering a invalid permissions for directory type error message and if it does occur clearer actions you can take to correct this are provided.

  • Convert to using the CI_CONCURRENT_PROJECT_ID (!587)

    • This will not cause any impact for users; however, will shift away from using the CI_CONCURRENT_ID which was scoped to all concurrently active jobs on a runner.

  • Upgrade golangci-lint to v2 and greatly expand the enforced rules (!580)

  • Go version 1.23.8 (!588)

  • Add glstages package to better organize all executor stages (!582)

  • Centralize and improve shared RunMechanism functionality (!583, !599, !592)

  • Upgrade gljobctx-go to v0.10.0 (!579)

  • Improve Slurm state command creation (!594)

  • Correct handling of RunMechanisms during batch submission (!605)