diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b6fb86d..15b6b53 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: Release -# Cut a release by pushing a tag like `v1.1.0` (must match manifest.json). +# Cut a release by pushing a tag like `v1.2.1` (must match manifest.json). on: push: tags: @@ -13,9 +13,10 @@ jobs: release: runs-on: ubuntu-latest # Store-publishing credentials. Both publishing steps below are skipped - # when their secrets are absent, so the workflow degrades gracefully to - # a plain GitHub Release until the secrets are configured - # (repo Settings -> Secrets and variables -> Actions): + # when their secrets are absent, and continue-on-error so a bad or + # expired credential cannot block the GitHub Release (which is what + # Chromium / sideload users need). Configure under + # repo Settings -> Secrets and variables -> Actions: # AMO_JWT_ISSUER / AMO_JWT_SECRET # addons.mozilla.org -> Tools -> Manage API Keys. Must belong to the # AMO account that owns the gecko id in manifest.json. @@ -49,6 +50,19 @@ jobs: - run: npm run build + # Publish the GitHub Release before store signing/upload. v1.2.0's + # release never appeared because AMO signing failed first with a bad + # JWT issuer, so the zip with the packaging fix never shipped. + - name: Create GitHub Release with build artifacts + env: + GH_TOKEN: ${{ github.token }} + run: | + gh release create "$GITHUB_REF_NAME" \ + github-pr-reverse-comments.zip \ + github-pr-reverse-comments-*.xpi \ + --title "$GITHUB_REF_NAME" \ + --generate-notes + # Sign the .xpi with Mozilla so Firefox installs it permanently. # `unlisted` is the self-distribution channel (installed by dragging # the .xpi into Firefox, as the README describes) — switch to @@ -58,6 +72,8 @@ jobs: # version twice, so re-running this workflow for an existing tag will # fail here — bump the version instead. - name: Sign the Firefox .xpi with Mozilla (AMO) + id: amo_sign + continue-on-error: true if: env.AMO_JWT_ISSUER != '' && env.AMO_JWT_SECRET != '' run: | version="$(node -p "require('./manifest.json').version")" @@ -72,9 +88,20 @@ jobs: # Ship the signed file under the same name the Release step uploads. mv /tmp/xpi-signed/*.xpi "github-pr-reverse-comments-${version}.xpi" + - name: Upload signed Firefox .xpi to the GitHub Release + if: steps.amo_sign.outcome == 'success' + env: + GH_TOKEN: ${{ github.token }} + run: | + version="$(node -p "require('./manifest.json').version")" + gh release upload "$GITHUB_REF_NAME" \ + "github-pr-reverse-comments-${version}.xpi" \ + --clobber + # Upload the .zip to the Chrome Web Store and publish. Google's # review still happens asynchronously on their side afterwards. - name: Publish to the Chrome Web Store + continue-on-error: true if: >- env.CWS_EXTENSION_ID != '' && env.CWS_CLIENT_ID != '' && env.CWS_CLIENT_SECRET != '' && env.CWS_REFRESH_TOKEN != '' @@ -87,13 +114,3 @@ jobs: npx chrome-webstore-upload-cli@3 upload \ --source github-pr-reverse-comments.zip \ --auto-publish - - - name: Create GitHub Release with build artifacts - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release create "$GITHUB_REF_NAME" \ - github-pr-reverse-comments.zip \ - github-pr-reverse-comments-*.xpi \ - --title "$GITHUB_REF_NAME" \ - --generate-notes diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd01ff..88f35db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.2.1] - 2026-07-24 + +### Fixed + +- The release workflow now creates the GitHub Release (with `.zip` / `.xpi`) + before attempting AMO signing or Chrome Web Store publish, and store steps + no longer fail the job. v1.2.0 never shipped because invalid AMO JWT + credentials aborted the workflow before the release was created — leaving + the broken v1.1.0 package (missing `checks.js`) as latest. +- Status-check labels that use the plural form `failures` are now recognized + as failing (same word-boundary matching as the other status phrases). + ## [1.2.0] - 2026-07-14 ### Fixed @@ -71,7 +83,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 day), including the modern React-rendered Commits page. - Firefox support (Manifest V3, signed `.xpi`). -[Unreleased]: https://github.com/ShiosOS/github-pr-reverse-comments/compare/v1.2.0...HEAD +[Unreleased]: https://github.com/ShiosOS/github-pr-reverse-comments/compare/v1.2.1...HEAD +[1.2.1]: https://github.com/ShiosOS/github-pr-reverse-comments/releases/tag/v1.2.1 [1.2.0]: https://github.com/ShiosOS/github-pr-reverse-comments/releases/tag/v1.2.0 [1.1.0]: https://github.com/ShiosOS/github-pr-reverse-comments/releases/tag/v1.1.0 [1.0.6]: https://github.com/ShiosOS/github-pr-reverse-comments/releases/tag/v1.0.6 diff --git a/README.md b/README.md index 0c3f0b6..b6882ad 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,13 @@ Works in **Chrome**, **Edge**, **Brave**, any other Chromium browser, and ### Chrome / Edge / Brave (any Chromium browser) -1. Download this repository — either `git clone` it or click the green - **Code** button on GitHub and **Download ZIP**, then unzip it somewhere +1. Download `github-pr-reverse-comments.zip` from the + [latest release](https://github.com/ShiosOS/github-pr-reverse-comments/releases/latest) + (or `git clone` / GitHub **Code → Download ZIP**), then unzip it somewhere permanent (the browser keeps reading the files from disk). 2. Open `chrome://extensions` (or `edge://extensions`, `brave://extensions`). 3. Toggle **Developer mode** on in the top-right corner. -4. Click **Load unpacked** and select the `github-pr-reverse-comments` folder. +4. Click **Load unpacked** and select the unzipped folder. 5. Open any GitHub Pull Request — you should see a blue **↓ Newest first** button in the bottom-right corner, and the newest comment will be at the top of the timeline. @@ -49,7 +50,7 @@ The extension works until you close Firefox. #### Permanent: install the signed `.xpi` from the Releases page 1. Go to the [latest release](https://github.com/ShiosOS/github-pr-reverse-comments/releases/latest). -2. Download the file ending in `.xpi` (e.g. `github-pr-reverse-comments-1.1.0.xpi`). +2. Download the file ending in `.xpi` (e.g. `github-pr-reverse-comments-1.2.1.xpi`). 3. Drag the downloaded `.xpi` into a Firefox window. Firefox will show a permission prompt — click **Add** to install it permanently. diff --git a/manifest.json b/manifest.json index 4be6ce7..8c16d24 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "GitHub PR Reverse Comments", - "version": "1.2.0", + "version": "1.2.1", "description": "Sort GitHub PR comments and commits in reverse chronological order (newest first), with a toggle.", "permissions": ["storage"], "host_permissions": ["https://github.com/*"], diff --git a/package-lock.json b/package-lock.json index 7edf866..347c429 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "github-pr-reverse-comments", - "version": "1.2.0", + "version": "1.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "github-pr-reverse-comments", - "version": "1.2.0", + "version": "1.2.1", "license": "MIT", "devDependencies": { "@eslint/js": "^10.0.1", diff --git a/package.json b/package.json index b749b51..d1ef0fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "github-pr-reverse-comments", - "version": "1.2.0", + "version": "1.2.1", "description": "Dev tooling for the GitHub PR Reverse Comments browser extension. The extension itself has no build step; these scripts only lint, format, test, and package it.", "private": true, "repository": {