I've set up auto releasing based on a pull request...
# nextflow-plugins
a
I've set up auto releasing based on a pull request: https://github.com/adamrtalbot/nf-slack/actions/runs/19231552301/job/54971045988 1. Open a release PR including the version bump 2. Approve + merge 3. Github Action workflow releases it I want to make it automated so I can just click the release button but this will do for now!
🤩 3
šŸŽ‰ 1
m
shared a GIF
p
Nice, I was thinking of doing one of these / hoping that someone else might šŸ˜…
Wow, a new release on push to
main
? You going for records? shipit 🚢 šŸ˜…
a
It runs but stops if the release hasn't been updated. So you need to bump the version get a new release, but if the version is the same it stops early
p
ah nice šŸ‘šŸ»
Why not use a github release as a trigger?
a
that's what I did at first, but it actually doesn't make sense.
You have to: • Update the version number • Update the changelog • Hope no-one introduces another change! • Create a release
Which is counter productive and adds 3 steps.
This way, we just create a "release" PR and it generates the release as an artefact
In an ideal world, I would: 1. Create draft release on Github 2. Automatically update the version number and changelog 3. Push to registry 4. Make draft as a proper release But because of permissions and branch protection this gets very awkward very quickly
You could possibly do: 1. Create draft release on Github 2. Open a PR to automatically update the version number and changelog 3. Automatically merge PR if checks pass 4. Push to registry 5. Make draft as a proper release Come to think of it that's not a bad idea šŸ¤” but you would need to give the Github Bot permission to approve and merge PRs which feels risky
Docs now get released with release as well https://github.com/adamrtalbot/nf-slack/pull/15
meow love 1
p
My workflow in basically every project I have is: 1. I bump the version (and check that tests are passing if I am feeling good) 2. I create a release on GitHub 3. GitHub actions publishes to PyPI/npm/wherever
Do you need it to be more complex than that?
a
eurgh, step 2 is manual.
Clicking like some sort of barbarian
The only difference here is the step 2 is automated
p
Your step 1+2 are both manual! šŸ˜…
a
nah only 1 is manual, 2 is automatic