Jacamar CI v0.3.0
Release: v0.3.0
Date: 11/5/2020
Commit: 7a5ddfad
The 0.3.0
release saw continued efforts to improve the overall structure
and reliability of the application. In addition key enhancements made to
support deploying and making available Jacamar on test resources.
General Notes
Regardless of configuration the
SCHEDULER_PARAMETERS
variable will always be an available by default for any supported batch executor. Though we advise using administrative defined variable if one is provided. This should ensure compatibility is never broken when changes to a test environment occur.Minor bug fixes and code quality improvements made throughout.
To better assist those in testing deployments prior to an official release you can find all packages created during any CI pipeline in the build-results job.
Admin Notes
Added support for release RPMs for both Jacamar CI as well as a patched version of the GitLab Runner that meets our requirements. For complete details on the deployment process of the provide package see the release documentation.
The [auth] table is now ONLY available to the Jacamar-Auth application. This change coupled with removal the
enabled
boolean should ease the configuration requirements.Other
enabled
keys have been removed from Jacamar’s configuration wherever it is possible to accurately imply the functionality is desired (e.g. defining avalidation_script
means the Federation or RunAs flows should be enabled).
For the [batch] table,
arguments_variable
will now be an array of potential CI variables whose existence will be checked in order. The defaultSCHEDULER_PARAMETERS
is always present as catch all.[batch] arguments_variable = [ "NEW_SITE_PARAMETERS", "OLD_SITE_PARAMETERS" ]
This change will make it easier to modify your executor’s configuration without necessarily breaking existing workflows. Additionally, the ever present
SCHEDULER_PARAMETERS
default will make on-boarding and documentation much less cumbersome.
Improve RunAs functionality to provide scripts with additional context and offer the ability to verify a checksum (SHA256) before execution. See the RunAs Docs for a complete list of new values.
Please note that the related workflow has not be altered, meaning backwards compatibility with existing scripts has been preserved.
Development groundwork laid for future`Go plugin <https://golang.org/pkg/plugin/>`_ support that is slated for next minor release as well as similar changes being implemented for federation.
Existing stateful configurations (established during config stage) will now be preferred over re-reading any configuration file provided to the cleanup stage.
To meet the requirements of both recent and future changes we now support the
step_script
stage along with the olderbuild_script
format.Development and build now requires Go version 1.15.1
Support for the CI Token Broker has been added and can be controlled via a new [broker] table in the configuration.
Important
Support for a token broker service is still under development and as such subject to unannounced changes. Comprehensive documentation will be added as the service is closer to a final release state.
Added the -trimpath flag to all builds to improve reproducibility.
Output from Federation and RunAs
validation_script
are captured and logged to Jacamar-Auth’s system logger when a failure in encountered.Any stdout/stderr generated through validation remains hidden from users.
Permission check on Jacamar’s configuration file has been removed. It is still advised to protect this file with appropriate permissions.
Having Jacamar attempt to enforce this was leading to cumbersome errors as it naively only checked the file itself.
Corrected stdout and error/warning messaging formatting linked to the usage of Go’s fmt package that was encountered in rare circumstances.
All builds of the patched GitLab-Runner have been updated to the latest upstream release, 13.5.0.