Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate release process #1777

Open
corneliusroemer opened this issue Jun 5, 2024 · 4 comments
Open

Automate release process #1777

corneliusroemer opened this issue Jun 5, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@corneliusroemer
Copy link
Member

Context

Currently we seem to require manual work to make bioconda PRs, leading us to not put all versions on bioconda.

See recent history:
Brave Browser 2024-06-05 14 06 09

We should automate the PRs as part of the release process. It works well for Nextclade, for example.

@joverlee521
Copy link
Contributor

Previous discussion on this in nextstrain/bioconda-recipes#2

@jameshadfield
Copy link
Member

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:

  1. Have a required input of major/minor/patch version
  2. Runs the steps currently done via the releaseNewVersion.sh script
  3. Call the CI action to run it on the release branch
  4. Runs the publish job (currently in CI)
  5. Waits for the newly published version to appear in the npm registry
  6. 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.
  7. Make a PR on bioconda
  8. [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 jameshadfield changed the title Automate bioconda PRs Automate release process Aug 22, 2024
@victorlin
Copy link
Member

@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.

@jameshadfield
Copy link
Member

(7) is nextstrain/bioconda-recipes#2

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)

@victorlin victorlin self-assigned this Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants