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

Add Github Actions workflow to create a release PR and tag a release #22447

Merged
merged 22 commits into from
Sep 4, 2024

Conversation

dschuff
Copy link
Member

@dschuff dschuff commented Aug 23, 2024

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>

emcc.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@sbc100 sbc100 left a 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".

@sbc100
Copy link
Collaborator

sbc100 commented Aug 24, 2024

Is the plan to make this automatic? Doing it via commend line using gh or via the web interface by hand doesn't seem much simpler that what we have today.

@dschuff
Copy link
Member Author

dschuff commented Aug 26, 2024

Is the plan to make this automatic? Doing it via commend line using gh or via the web interface by hand doesn't seem much simpler that what we have today.

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.

tools/utils.py Show resolved Hide resolved
@dschuff
Copy link
Member Author

dschuff commented Sep 4, 2024

PTAL, I think this is ready again

@dschuff dschuff merged commit 57f2e30 into emscripten-core:main Sep 4, 2024
25 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants