-
Notifications
You must be signed in to change notification settings - Fork 165
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
chore(ci): add release-please for release-automation #1195
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As this is similar / based on what we did for wait-for-github
, suggest adding ready_for_review
to the types
. This is because we're using the Actions bot when pushing to the PRs and so it doesn't trigger workflows. Undrafting is the trigger we use to make the release PR actually mergeable.
Are you planning to enable the merge queue? If so, you might as well add merge_group
to the relevant workflows now.
07ef7cd
to
fe34bd8
Compare
For now I've create a custom app for this. I just need to transfer it into the correct account |
4b5e425
to
b3d24e6
Compare
This doesn't seem like a scalable approach, requiring every repository to have an app to be released using |
An alternative would also to create a single automation app that we use for all all the OSS repos. My assumption right now is, that we will have more workflows that should be triggered by other workflow actions and so a custom token would be favourable here. |
Can you just quickly say what's wrong with what we're doing in |
The requirements are slightly different. wait-for-github does not need to run a workflow right after something was done by release-please. For Tanka we also need to generate binary files and attach them to the GitHub release. Since release-please is running at the default GitHub Actions user, that follow-up workflow won't get triggered. Your change to use |
b3d24e6
to
93b4095
Compare
Ah no, we don't react to the One thing you could do is look at the |
93b4095
to
852f08f
Compare
@iainlane I've merged the two workflows no so that no special token is required. I've tested the outcome on https://github.com/zerok/tanka/releases/tag/v0.29.0 (ignore the wrong version 🤣 ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, let's give it a go!
const fs = require('node:fs/promises'); | ||
|
||
const releaseId = '${{ steps.lookup-release.outputs.release_id }}'; | ||
const globber = await glob.create('dist/*'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is already in the context I guess? asking because I don't see an import for it
script: | | ||
const currentTag = "${{ needs.release-please.outputs.release_tag }}"; | ||
core.info(`Looking for release associated with '${currentTag}'`); | ||
const release = await github.rest.repos.getReleaseByTag({owner: context.repo.owner, repo: context.repo.repo, tag: currentTag}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: some newlines/indentation would be good for this one
This will make the release process easier to manage by providing an auto-updated PR with a changelog. Since release-please only manipulates the changelog and creates a GitHub release, this PR also updates the
release
workflow to build binaries and attach them to the newly created release.