-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Add Github Actions workflow to create a release PR and tag a release #22447
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.
Nice!
I'm being trying to work towards having shared.py be (and all .py
files actually) be import-able without running any code or requiring a config. I have an old PR that tried to do this but it fell by the way side.
For now I guess its OK to move these globals, although its not the most natural place for them. Perhaps you could add a comment "Move these globals back to shared.py once it becomes import-able without a valid config file".
Is the plan to make this automatic? Doing it via commend line using |
That's my hope. The tricky parts are triggering from events that happen outside the repo; for example we want the emsdk workflow to trigger after the LTO build has finished and tested on chromium CI but triggering a workflow requires authentication and the Chromium CI isn't set up to store secret tokens right now. This workflow could run in parallel but we might want it to wait until the emsdk tests pass, so we'd want to trigger it from an action on a separate repo. That seems more likely to be automatable, but I haven't figured out how yet. I do think that even if we can't go any further than the PRs I've uploaded now, that it will still be an improvement. After landing the Chromium CL, there are now 2 steps rather than 4, and neither of them require a repository to be checked out. |
PTAL, I think this is ready again |
This script runs create_release.py to update the version number and changelog,
and create a tag with the version number on the designated revision.
In order for create_release.py to be runnable without an installation of emscripten
(with a .emscripten_config), the EMSCRIPTEN_REVISION variables were moved from
shared to utils (which does not try to run the config checks at import time).
The action can be run from the web page UI or via the
gh
CLI tool, e.g.gh workflow run tag-release.yml -R dschuff/emscripten -F release-sha=<sha>