Jacamar CI v0.6.0
Release: v0.6.0
Date: 04/29/2021
Admin Changes
Improved Slurm executor by utilizing
sbatch --wait
as opposed to relying onsacct
(!143, !164).Prior interactions leveraged the
sacct
command, parsing any stdout generated. By moving away from this we aim to support a wider range of instances and avoid some complicated edge-case scenarios we’ve noticed with the previous iteration.This change should not affect user’s experience with the Slurm executor as it still fundamentally relies upon sbatch
Extensive improvement to the Git command modification process (!154).
We hope this addresses issues experienced with the required modifications to the
get_sources
script to account for the range of user/system configurations that are not experienced in traditional CI workflows.
Cobalt corrections to address issues reported with version 0.5.0 testing (!135, !150).
Please extensively test the improvement to Cobalt and report any unexpected behaviors or errors encountered.
Similar to Slurm we will now override the job script to provide a
/bin/bash --login
operator, this should ensure a proper environment for any job script submitted.
Remove support for
source_script
in the[auth]
configuration (!143).Incorrect configurations found within the script could lead to very difficult to manage/troubleshoot errors and we found that other improvement can account for the issues this configuration tried to address.
Correctly build JWKS URL when server found in path (!157).
In order to use
jacamar
directly withoutjacamar-auth
, the application will only function as expected with the--no-auth
command, signifying no authorization is expected (!160).If using the
jacamar-auth
you will not notice this change, it is only designed to add an additional level of complexity to prevent miss-configuration in aspects of the workflow we cannot change.
Bug & Development Fixes
Added support for Runner release 13.11 and 13.10 (!161, !138).
The authorization workflow will now validate the supplied JSON Web Token at each stage of the job (!147).
Added support for
make rpm-docker
andmake runner-docker
commands to build related RPMs locally via Docker (!138 !137).Resulting RPMs can be found in the root of the project folder and properly accounted for by a
make clean
command.
The
internal/command
packages structure has been improved to better differentiate between dowscoping and standard execution methods (!143).The first steps have been taken to improve the
internal/authuser
packages structure, more work will follow (!160).Added
ModifyCmd(string, string...)
to Runner and Commander interface (!150).This allows an executor to override the default
/usr/bin/evn ... bash --login
behavior if required.
Added the project path as a stateful variable (!153).
Added support for
downscope = "su"
as it nearly follow the same command structure assudo
(!143).Important, as with all downscoping methods we highly encourage extensive testing and acceptance prior to any deployments. Please don’t hesitate to report any issues you experience.
Added optional
downscope_env
to the[auth]
configuration (!149)Any key=value string supplied will be used in the construction of the downscoped application and override any defaults established by Jacamar.
[auth] downscope_env = [ "SYSTEM_VAR=EXAMPLE", ]
The goal of this addition is to support troubleshooting and short-term corrections until more comprehensive changes can be made to the “safe environment” creation process if required.
Migrated Pavilion testing from sudo to su due to oddities in testing
sudo -E su ...
commands in CI (!143).Updated command
make test-docker
to align with other corrections (!140).Updates to directory identification (in package
authuser
) to align across builds and script directories (!148).Corrected
command
handling of goroutines causing blocking actions (!165).Configurable command directory (!162).