Automate release process
Opened this issue · 4 comments
Previous discussion on this in nextstrain/bioconda-recipes#2
After running through a release with @victorlin and @huddlej here's my sketch of where we could easily (?) take the release process by adding a "release" action:
- Have a required input of major/minor/patch version
- Runs the steps currently done via the
releaseNewVersion.sh
script - Call the CI action to run it on the release branch
- Runs the
publish
job (currently in CI) - Waits for the newly published version to appear in the npm registry
- Trigger
rebuild-docker-image
job (currently in CI)- Docker uses Auspice from the release branch, so we don't need to wait for npm, but it may be cleaner to change this in the future so that docker + conda-base + nextstrain.org are all installing Auspice from the same source.
- Make a PR on bioconda
- [optional] we could make nextstrain.org / auspice.us PRs and auto-merge them. We currently do this via dependabot but it takes up to 24 hours.
This still leaves the steps of updating conda-base once the bioconda PR is merged, but perhaps the appropriate step there is to add a ~daily GitHub action in conda-base to check for updated Auspice versions in bioconda and trigger CI accordingly.
(The above steps presumes we've removed the publish
and rebuild-docker-image
jobs from the CI action and no longer run this on the release
branch automatically.)
@jameshadfield thanks for writing up a summary!
1-6 should be straightforward and similar to what's been done for Augur: nextstrain/augur#904
I'll put my name down for this unless someone else would like to do it.
(7) is nextstrain/bioconda-recipes#2
A simpler alternative to (8) would be to trigger Dependabot from within GitHub Actions. Seems to be not possible at the moment: dependabot/dependabot-core#2201
Could we also remove the release
branch similar to nextstrain/augur@ebcad79? We would need to use another source for latest release tag in docker-base/Dockerfile such as GitHub Releases or NPM.
There's a lot of different directions being discussed there, but specifically I think Cornelius' is enough for this work: "It is quite trivial to write a script to submit a PR, see Nextclade's way of doing things."
I'll put my name down for this unless someone else would like to do it.
Go for it! I'd be happy to help
Could we also remove the release branch ...
No objection from me (after working out exactly where it's being used, of course)