Infra Update v7: !update-configs Comment Command#119
Merged
Conversation
2b2cd9c to
07a86a0
Compare
Collaborator
|
Thanks for this @CodeGat. I think the ...
"default": {
"configs_repo": "ACCESS-NRI/access-om2-configs",
"configs": {
"dev-1deg_jra55_ryf": {
"checks": {
"repro": true
}
}
}
}
... |
dougiesquire
approved these changes
Jan 8, 2026
Collaborator
dougiesquire
left a comment
There was a problem hiding this comment.
Thanks @CodeGat. Again, really only looked at config/auto-configs-pr.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
References issue ACCESS-NRI/build-cd#320, rollout issue ACCESS-NRI/build-cd#322, and PR ACCESS-NRI/build-cd#231
Important
This PR is a major update to the deployment infrastructure. See below for the prerequisites for this repository to be able to merge this PR.
Background
It has been a bit of pain for users to have to open up model configs PRs to test out a given Prerelease build. This PR adds a feature which links Model Deployment Repositories (MDRs) to their associated Configs repositories, allowing users to update configurations with prerelease builds automatically via a
!update-configscommand. Configuration of this new command is done in aconfig/auto-configs-pr.jsonconfiguration file.Features
The main new features include:
New
!update-configsComment Command: A command that can open PRs to different configuration branches in a given configs repository, based on a profile (a group of config names) - and can test reproducibility automatically. Syntax is!update-configs [profile=PROFILE]. Profiles are defined in theconfig/auto-configs-pr.jsonfile, explained in this section.Reorganisation of Workflow Files: Moved all comment command workflows into a
ci-command.ymlfile.Prerequisites for Merging
build-cdentrypoints tov7(this PR!)secrets.CONFIGS_REPO_TOKENthat hascontents:write,pull-requests:writefor all configs repositories you are looking to open PRs into.config/auto-configs-pr.jsonfile specific to this MDR (see below for examples)The
config/auto-configs-pr.jsonFileThis file is split into multiple profiles. A profile can be thought of as a configs repository, multiple config branches to open PRs into, and what checks to run for each of those config branches. Users specify a particular profile through
!update-configs profile=PROFILE(eg.!update-configs profile=qa-only). If no profile is specified (eg.!update-configs) the requireddefaultprofile is used.An example
config/auto-configs-pr.jsonfile looks like this:{ "$schema": "https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/model/deployment/config/auto-configs-pr/1-0-0.json", "profiles": { "default": { "configs_repo": "ACCESS-NRI/access-test-configs", "configs": { "dev-01deg_jra55_iaf": { "checks": { "repro": true } } } }, "qa-only": { "configs_repo": "ACCESS-NRI/access-test-configs", "configs": { "dev-01deg_jra55_iaf": { "checks": { "repro": false } }, "dev-01deg_jra55_ryf": { "checks": { "repro": false } } } } } }This means that
!update-configsinvoked on a Prerelease PR for the HEAD prerelease build (for example,access-test/pr100-2), will automatically create one PR inACCESS-NRI/access-test-configs, in a feature branch off thedev-01deg_jra55_iafbranch, with all changes required to use the prerelease module. Furthermore, it will run!test reproon that PR.Similarly,
!update-configs profile=qa-onlywill open two PRs inACCESS-NRI/access-test-configs, in feature branches off thedev-01deg_jra55_iafanddev-01deg_jra55_ryfbranches respectively. Repro checks will not be run, but QA checks will run as normal.