Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 31 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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.
Expand Down Expand Up @@ -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
Expand All @@ -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")"
Expand All @@ -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 != ''
Expand All @@ -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
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -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/*"],
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down
Loading