Jacamar CI v0.23.0

  • Release: v0.23.0

  • Date: 10/16/2024

User Changes

  • Dynamic SCHEDULER_PARAMETERS via script (!535)

    • This feature is now available for all users of batch executors (e.g., Flux, Slurm, PBS, and Cobalt). It enables scripts to be included in your repository and referenced by the SCHEDULER_PARAMETERS to drive specifics of the arguments. For example:

      #!/bin/bash
      # Additional logic/checks...
      echo '{"args":"-N1 -A stf040 -t 00:30:00"}'
      

      You would include this args.sh file in your repository and update your CI job like this:

      job:
        variables:
          SCHEDULER_PARAMETERS: args.sh
        script:
          - make test
      

      The userspace Jacamar application will detect this proposed parameter is a file and execute it, parsing the returned output for an acceptable JSON structure.

      It is also possible to simply skip the job, useful if you wish to end a job successfully if a scheduler is too busy to complete your job within an acceptable time frame:

      #!/bin/bash
      # Additional logic/checks...
      echo '{"skip":true}'
      
    • Please note this script has several limitations including the duration it can run (90 seconds). It is only meant to preform minimal logic and return details via stdout. If more comprehensive operations are required we advise doing so in an earlier job and providing the necessary details via an artifact.

    • Runner administrators can disable this with the batch.disable_user_args configurations.

Admin Changes

  • Improved support for limit_build_dir configuration (!533)

    • The goal with this feature it to allow for the use of file locking (fcntl) to claim build directories within the need to runner specific identification. This is useful for deployment with a large number of runners all configured to utilize the same data_dir.

    • Complete details can be found in the configuration documentation

  • Optional user driven SCHEDULER_ACTIONS for Slurm (!513)

Bug & Development Fixes

  • Added functions for extra context messages in errors (!527)

  • Go version 1.22.7 (!530)

  • Flux image version 0.64 (!529)

  • Expand runmechanisms.StepScriptStage usage (!531)

  • Minor correction to fix quality errors (!528, !526)

  • Spack environment support for development (!536)