Release Progress
Issue to track the coordinated release of multiple Cylc components.
Required for all minor releases of cylc-flow.
See the release docs for first time instructions and more info.
Prep:
The list of branches / milestones for the new release should be listed on
the cylc-admin/status page.
Testing:
Some testing is not fully automated and must be actioned by hand. Make sure
the tests for downstream components have been run against the latest
version of upstream repositories.
Milestones for release:
The release actions close the milestones for you automatically.
- metomi-isodatetime:

- cylc-flow:

- cylc-ui:

- cylc-uiserver:

- metomi/rose:

- cylc-rose:

- cylc-doc:

PyPi / GitHub releases:
Ensure all Cylc components are pinned to the correct version of cylc-flow.
Trigger releases via GitHub actions.
How to trigger a new release:
- Open the release PR
- Go to the "Actions" tab of the relevant repo e.g.
- Choose the "Release stage 1 - create release PR" workflow.
- Click the "Run workflow dropdown" and enter the version you want to release
and the branch that the code you want to release is on
- This will just open a PR, nothing scary will happen at this stage!
- Review and merge the release PR
- A PR will be opened.
- On this PR the version number will be set and the changelog rendered.
- Follow the instructions on the PR, ensure it is reviewed, then merge.
- Once you push the merge button, the release will happen automatically.
Note, It is also possible to manually create a release PR with the conditions:
- The branch name must be of the format prepare-<version_number>, e.g. prepare-1.0.1 or prepare-5.0a2.
- Add the release label to the PR. Warning: any PR you create with the release label will trigger publishing to PyPI when merged.
If anything goes wrong, it is possible to cut the release manually, however,
we don't have any up to date instructions for this :(
Logical release order:
R1 = """
metomi_isodatetime => cylc_flow & metomi_rose => cylc_rose
cylc_flow & cylc_ui => cylc_uis
"""
Info on version pinning:
Cylc plugins (i.e. cylc-rose and cylc-uiserver) are "pinned" to the minor version
of cylc-flow. E.G. if the cylc-flow version is 8.1.2 the plugins should be pinned to 8.1.
More Information
Conda Forge:
Pull requests will be automatically opened on the conda-forge feedstocks
after the pypi releases.
Where do I find the "feedstocks"?
Each package we release on Conda Forge has a corresponding "feedstock"
repository in https://github.com/conda-forge/<package>-feedstock, e.g
cylc-flow-feedstock.
If the PR doesn't get opened automatically
Open a new issue on the feedstock repository, select the
"bot command" issue type and set the title to
`@conda-forge-admin, please update version`.
Ensure dependencies are up to date by running:
$ git diff <previous-release> <new-release> -- setup.cfg setup.py pyproject.toml conda-environment.yml
And checking these changes against the recipe/meta.yaml file.
Info on outputs:
Some repositories have multiple "outputs", e.g. `cylc-flow-base`
is a cut-down release (or output in Conda speak), whereas `cylc-flow` is
the full release including optional dependnecies. You will need to check
the dependencies in all of the places they appear, including each of the
outputs.
If you need to make changes, remember to re-render the feedstock
by commenting @conda-forge-admin, please rerender on the PR.
It make take a couple of hours for a release to become available.
Use conda search <package> to determine when it's ready.
Misc (after the above has been completed):
- metomi-rose
- cylc-doc
- Discourse
Metadata:
GH Actions should automatically open PRs that bump the dev version of the
projects. Check and merge them (can push alterations to PR branch if needed).
Downstream components will need to have their dependencies bumped:
Finally:
Release Progress
Issue to track the coordinated release of multiple Cylc components.
Required for all minor releases of cylc-flow.
See the release docs for first time instructions and more info.
Prep:
The list of branches / milestones for the new release should be listed on
the cylc-admin/status page.
reference/changes).Testing:
Milestones for release:
PyPi / GitHub releases:
Conda Forge:
Misc (after the above has been completed):
cylc-doc/src/conf.py)and create "tip" posts (linking back to the changes page) to announce any new features.
Metadata:
GH Actions should automatically open PRs that bump the dev version of the
projects. Check and merge them (can push alterations to PR branch if needed).
Downstream components will need to have their dependencies bumped:
Finally: