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

Automated bugfix release #12889

Open
pllim opened this issue Feb 24, 2022 · 15 comments
Open

Automated bugfix release #12889

pllim opened this issue Feb 24, 2022 · 15 comments

Comments

@pllim
Copy link
Member

pllim commented Feb 24, 2022

@Cadair suggested that maybe we can use https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment to fully automated bugfix releases. For instance, maybe a GitHub comment to trigger bot PR to render towncrier change log, and another comment to push to PyPI, and so on.

cc @astropy/core-release-maintainers

@Cadair
Copy link
Member

Cadair commented Feb 24, 2022

Automate away those pesky bugfixes.

@nstarman
Copy link
Member

nstarman commented Mar 7, 2022

Is there something conceptually wrong with linking bugfix release with each bug fix PR? Have the bug label do everything, kind of like the meeseeks backports.

@pllim
Copy link
Member Author

pllim commented Mar 7, 2022

A bugfix release with each PR is a little too much. While the release itself might be automated, there is still human overhead in communication and post-release activities. Also, I am not sure if it helps downstream maintainers to have to look out for a new bug fix release several times a week.

@mhvk
Copy link
Contributor

mhvk commented Mar 7, 2022

Note that @astrofrog implemented part of this - at least for pyerfa all one has to do is push the relevant tag and the rest is automatic. Or do we have that already for astropy too?

@astrofrog
Copy link
Member

We already have that for astropy but there are a few steps before/after that are manual.

@Cadair
Copy link
Member

Cadair commented Mar 14, 2022

there is still human overhead in communication and post-release activities

Boooo, automate it all!!

I think once per PR is probably too much, but getting it to the point where it's basically a human checked cron job (monthly or even weekly?!) should be the goal imo.

@pllim

This comment has been minimized.

@pllim
Copy link
Member Author

pllim commented Feb 24, 2025

Re astropy/astropy-project#430 (comment)

@astrofrog , let's move the automated bugfix release convo here since is astropy/astropy-project#430 is about collecting Coordination Meeting discussion topics in general.

Is your specific ask to split https://github.com/astropy/astropy/blob/main/.github/workflows/publish.yml into 2 workflows: 1 for major release that needs human, and 1 for fully automated bugfix release as a scheduled event?

@Cadair
Copy link
Member

Cadair commented Feb 25, 2025

I have been hacking and testing more automated releases on my dkist package. The workflow I have settled on currently (there's still room for more automation) is this:

  • Manually trigger the prepare-release workflow.
  • A Pull Request with the rendered changelog is opened (and any other automated tasks).
  • A Draft GitHub release is made, including the release notes.
  • Merge the PR when ready.
  • Publish the release
  • The regular publish workflow runs.

@astrofrog
Copy link
Member

Is your specific ask

To be clear, I don't have any asks - just think it would be interesting to discuss. It would just be worth exploring whether we could make bugfix releases almost completely automatic, so we don't have to think too much about it. To go one step further than what @Cadair is suggesting, we could make it so that at periodic intervals (e.g. every week or every two weeks), a PR is automatically opened to render the changelog, and after a manual review (just to make sure everything is ok) we could merge it and this would automatically trigger a bugfix release. So this would be truly 'one-click' (unless there are issues in the changelog to fix, but these should usually be trivial).

@pllim
Copy link
Member Author

pllim commented Feb 25, 2025

If we want to go this route, what about having integration-testing to run against the bugfix RC also, just in case one of the bug fixes break downstream? It won't be the first time we thought we fixed a bug, but someone downstream was treating the bug as a feature, or when we unintentionally broke API/behavior compatibility.

@Cadair
Copy link
Member

Cadair commented Feb 25, 2025

That sounds like a good idea, but feels orthogonal? Do we do that on every bugfix manually at the moment?

Having a "downstream" workflow like gwcs / asdf etc would be a good way of doing that though. We could at least cover coordinated packages (+ sunpy 😉 ) that way?

@pllim
Copy link
Member Author

pllim commented Feb 25, 2025

I am just thinking that if it is automated, it is going to happen more often, but perhaps it is also orthogonal.

@Cadair
Copy link
Member

Cadair commented Feb 25, 2025

I think it would be a good thing to have a different issue for 😉

@pllim
Copy link
Member Author

pllim commented Feb 26, 2025

Yes, I think you are right. When I have time, I can see if I already opened an issue about this somewhere, and if not, put some words together and open one... unless someone beats me to it. Update: astropy/astropy-integration-testing#25

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants