Releases: EESSI/eessi-bot-software-layer
EESSI bot v0.9.0
This is a minor release of the EESSI build-and-deploy bot.
Note! Though it is a minor release it includes breaking changes of the bot
configuration and the user interface for triggering build jobs. For details
see below and documentation at https://www.eessi.io/docs/bot/#building
Bug fixes:
- revised and updated app.cfg.example and README.md (#325)
Improvements:
- add support for cloning target repository via ssh (#300)
- major refactoring of the definition of build targets and breaking change in
bot configuration and of the user interface to trigger builds (#312, #329, #331, #337)arch_target_mapis replaced bynode_type_mapwhich provides a more
comprehensive/flexible approach to define architectures that are available
for build jobs; for details, see https://github.com/EESSI/eessi-bot-software-layer?tab=readme-ov-file#architecturetargets-section- the
repo_target_mapsetting is removed because the information is now
included in thenode_type_mapsetting - the
initial_commentsetting in the[submitted_job_comments]section of the bot configuration
has been replaced with separate settings:new_job_instance_repo,build_on_arch,build_for_arch,jobdir;
for details, see https://github.com/EESSI/eessi-bot-software-layer/blob/develop/README.md#submitted_job_comments-section
and the example bot configurationapp.cfg.example; bot:buildfiltersarchitecture:andaccel:are replaced byon:and
for:(for details see documentation at https://www.eessi.io/docs/bot/#building)
- add CI to build and publish smee-client container image (#321, #322)
- make space before bot command optional (#324)
- support template values in the
scontrolcommand (#327, #335) - support additional parameter (
last_build) forbot:statuscommand (#334)
Changes to 'app.cfg' settings (see README.md and app.cfg.example for details):
- REMOVED (required) 'arch_target_map' in section '[architecturetargets]', replaced by
'node_type_map' - REMOVED (required) 'repo_target_map' in section '[repo_targets]', replaced by
'node_type_map' - NEW (required) 'node_type_map' in section '[architecturetargets]'
- NEW (optional) 'clone_git_repo_via' in section '[buildenv]'
- NEW (required) 'pr_diff_failure' in section '[download_pr_comments]'
- NEW (required) 'pr_diff_tip' in section '[download_pr_comments]'
EESSI bot v0.8.0
This is a minor release of the EESSI build-and-deploy bot.
Bug fixes:
Improvements:
- adding argument
--containwhen launching the build container (#307) - use the bot instance's name as
namespacesvalue in a signature (#308) - determine test coverage (#311)
- support different levels for when a bot instance creates comments on GitHub (#315)
Changes to app.cfg settings (see README.md and app.cfg.example for details):
- NEW (optional)
chatlevelin section[bot_control]
EESSI bot v0.7.0
This is a minor release of the EESSI build-and-deploy bot.
Bug fixes:
- bot only reports moving to
trash_binwhen relevant (#292)
Improvements:
- add support for specifying that build job script is located in another repository (#283)
- implement
exportvariablefilter (#288, #291)- see related configuration setting
allowed_exportvars
- see related configuration setting
- add alternative method to submit job (using
--begin=now+SOME_DELAY) (#297)- also see the new related configuration settings
job_handover_protocolandjob_delay_begin_factor
- also see the new related configuration settings
- set the
local_tmpthat is configured for a site as tmpdir in bot build job script (#299) - add setting for a script to customize build environment (#302)
- add support for signing tarball and metadata file and uploading signatures to S3 bucket (#303)
- add SSH signing script
sign_verify_file_ssh.sh(#304) - updates of the docs (#293, #298)
Changes to app.cfg settings (see README.md and app.cfg.example for details):
- NEW (optional)
allowed_exportvarsin section[buildenv] - NEW (required)
awaits_release_hold_release_msgin section[submitted_job_comments] - NEW (required)
awaits_release_hold_release_msgin section[submitted_job_comments] - DEPRECATED (optional)
awaits_releasein section[submitted_job_comments] - NEW (optional)
job_delay_begin_factorin section[buildenv] - NEW (required)
job_handover_protocolin section[buildenv] - NEW (optional)
signingin section[deploycfg] - NEW (optional)
site_config_scriptin section[buildenv]
EESSI bot v0.6.0
This is a minor release of the EESSI build-and-deploy bot.
Improvements:
- move merged PR job directories to
trash_bin_dir(#271)- the target directory can be defined with the
app.cfgsettingtrash_bin_dir - it uses
shutil.movewhich tries to usemvif source and target are on the
same filesystem
- the target directory can be defined with the
- add setting to give all jobs a unique name (#273)
- move closed PR job directories to
trash_bin_dir(#275) - add filter for accelerators (#276)
- add support for updating Slurm options through user-defined python module in
target PR (#277) - use GitHub API for downloading the diff of a PR (#278)
- add documentation about private repos (#279)
- pass accelerator value to job scripts (via
job.cfg) and extend PR comment if
theacceleratorargument is used (#280, #282)
New app.cfg settings (see README.md and app.cfg.example for details):
- (optional)
allow_update_submit_optsin section[buildenv] - (required)
job_namein section[buildenv] - (required)
moved_job_dirs_commentin section[clean_up] - (required)
trash_bin_dirin section[clean_up] - (required)
with_acceleratorin section[submitted_job_comments]
EESSI bot v0.5.0
This is a minor release of the EESSI build-and-deploy bot.
Improvements:
- list authors in source code files where applicable (#261)
- make display of build targets more concise (#262)
- use
_bot_jobJOBID.resultfiles created bybot/check-build.sh(provided by target repository) when determining
which build artefacts should be deployed (#263)- this makes the bot fully agnostic to what it builds
- reorganise declaration, initialisation and use of string constants and verify
that required configuration settings are defined in 'app.cfg' (#266)
Note, because of #266 bot instances with an incomplete 'app.cfg' may fail (with a clear message) when they are started.
EESSI bot v0.4.0
This is a minor release of the EESSI build-and-deploy bot.
-
Bug fixes:
- fixes issue using wrong values when using the
bot: statuscommand (#251)
- fixes issue using wrong values when using the
-
Improvements:
- make bot report when preparing job working directory failed, for example due to merge conflict in pull request (#248)
- adding the pull request comment id to the metadata file that is uploaded to the
the S3 bucket (#247, #249, #250, #253) - enabling configurable upload directories for tarball and metadata file (#254)
- only make bot respond to pull request comments that contain a bot command (#257)
EESSI bot v0.3.0
EESSI bot v0.2.0
EESSI build-and-deploy bot v0.2.0
This is a minor release of the EESSI build-and-deploy bot.
Bug fixes:
- adds information on installing and using the smee client on
aarch64(#233)
Improvements:
- support for running tests inside the same job but after the build step (#222)
- runs
bot/test.shandbot/check-test.shif these are provided in the GitHub repository - adds a new setting (
job_test_unknown_fmt) in the bot's configuration file
- runs
- ensure the bot can build for both the EESSI pilot repository (
pilot.eessi-hpc.org) andsoftware.eessi.io(#229) - support specifying repository-specific buckets via
bucket_namein configuration file (#230)
EESSI bot v0.1.1
EESSI bot v0.1.0
EESSI build-and-deploy bot v0.1.0
This is the first release of the EESSI build-and-deploy bot, which consists of an event handler (implemented as a GitHub app), and a job manager component (implemented as Python script).
It provides support for:
- building software via jobs submitted to a Slurm cluster;
- building software for a GitHub repository that includes a
bot/build.shandbot/check-build.shscript; - acting on certain GitHub events:
- opening of pull requests;
- pull request comment being posted that include bot commands (like
help,build,show_config); - labeling of pull requests;
- status updates of build jobs via pull request comments;
- access control for sending commands, submitting build jobs, triggering deploys via GitHub accounts;
- uploading of tarballs with built software artefacts to an S3 bucket;
- wide range of configuration settings to run the bot in different Slurm-based environments;
Multiple bot instances can be run in parallel for a single GitHub repository.
For documentation, see:
- high-level overview of the bot: https://www.eessi.io/docs/bot;
- instructions for installing and configuring the bot: https://github.com/EESSI/eessi-bot-software-layer/blob/v0.1.0/README.md;
- how to use the bot to add software to EESSI: https://www.eessi.io/docs/software_layer/adding_software;