Repository navigation
Create GitHub releases automatically - #2
Merged
Merged
Conversation
- release.yml: on every push to main, if the version in src/manifest.json has no tag yet, run the tests, build the Chrome zip and publish release v<version> with the matching CHANGELOG.md section as notes. Fails if manifest.json and package.json versions differ. Can also be started by hand (workflow_dispatch). - test.yml: run the tests on every pull request. - package-chrome: leave out src/_metadata, which Chrome generates when the tests load the extension, so it never ends up in the release zip. - CONTRIBUTING: how to release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JwxKLiPRub6p8CfggHK7nR
The first Test run failed in 'playwright install --with-deps' because the runner could not resolve security.ubuntu.com, so apt could not download fonts. The ubuntu-24.04 runner image already ships Chrome's system libraries, so only the browser itself is installed now. Also move to Node 22 (Node 20 actions runtime is deprecated). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JwxKLiPRub6p8CfggHK7nR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Adrian · project thread
Summary
Releases are now created automatically.
How to release from now on: bump
versioninsrc/manifest.jsonandpackage.json, add a## <version> (<date>)section toCHANGELOG.md, merge tomain. Done..github/workflows/release.yml: on every push tomainit checks whetherv<manifest version>already exists. If not, it runs the tests, buildsgta6-blocker-chrome-<version>.zipand publishes the GitHub release with the matching changelog section (plus short install notes) as release notes. Pushes without a version bump are a no-op. It fails if the two version fields differ. Can also be triggered by hand (Actions → Release → Run workflow)..github/workflows/test.yml: runsnpm teston every pull request.scripts/package-chrome.*: excludesrc/_metadata/(generated by Chrome when tests load the extension), so it never ends up in the zip.CONTRIBUTING.md: release instructions.Heads-up:
mainis at 1.2.0 and onlyv1.1.0exists, so merging this PR will immediately publish v1.2.0 (GitHub exception + Twitch).Safari is not built in CI: it needs signing on a Mac, so the release only contains the Chrome zip.
Tests
Ran the version, packaging and release-notes steps locally: version 1.2.0 detected as unreleased,
npm testpasses (80/80), the zip contains no_metadata, and the notes are the 1.2.0 changelog section. Publishing itself only runs on GitHub; this PR's Test workflow is the first real CI run.Generated by Claude Code