chore: prepare Firefox release v2.0.3

This commit is contained in:
2026-07-12 22:33:47 +08:00
parent 8315d49a58
commit 39e93e0987
8 changed files with 36 additions and 31 deletions
@@ -12,7 +12,7 @@
- Publish repository: `mirivlad/verstak-browser-extension`.
- Firefox addon ID: `verstak-bridge@verstak.app`.
- Initial GitHub release: `v2.0.2`; package and both browser manifests are version `2.0.2`.
- Initial GitHub release: `v2.0.3`; package and both browser manifests are version `2.0.3`.
- Every alpha GitHub release is ordinary/latest, not a prerelease.
- XPI remains Mozilla-signed as an unlisted/self-distributed addon before upload.
- `npm run release:firefox` remains a local sign-and-package action.
@@ -41,19 +41,19 @@ Create `scripts/test-firefox-github-release.js` with:
const assert = require('assert');
const release = require('./firefox-github-release');
const version = '2.0.2';
const asset = 'verstak-firefox-2.0.2.xpi';
assert.equal(release.releaseTag(version), 'v2.0.2');
const version = '2.0.3';
const asset = 'verstak-firefox-2.0.3.xpi';
assert.equal(release.releaseTag(version), 'v2.0.3');
assert.equal(
release.releaseAssetURL(version, asset),
'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi',
'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi',
);
assert.deepEqual(release.updateManifest('verstak-bridge@verstak.app', version, asset), {
addons: {
'verstak-bridge@verstak.app': {
updates: [{
version: '2.0.2',
update_link: 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.2/verstak-firefox-2.0.2.xpi',
version: '2.0.3',
update_link: 'https://github.com/mirivlad/verstak-browser-extension/releases/download/v2.0.3/verstak-firefox-2.0.3.xpi',
}],
},
},
@@ -246,7 +246,7 @@ Rewrite the Firefox Release README section so it documents:
- `VERSTAK_BROWSER_ENV=/path/to/.env npm run publish:firefox`;
- that signing remains unlisted with Mozilla but distribution and automatic
updates use GitHub Release assets;
- that the first `v2.0.2` publish bootstraps the `latest/download/updates.json`
- that the first `v2.0.3` publish bootstraps the `latest/download/updates.json`
endpoint.
- [ ] **Step 4: Run checks without publishing**
@@ -275,12 +275,12 @@ git push origin main
### Task 4: Bootstrap and verify the first public update release
**Files:**
- Generated: `release/firefox/verstak-firefox-2.0.2.xpi` (untracked)
- Generated: `release/firefox/verstak-firefox-2.0.3.xpi` (untracked)
- Generated: `release/firefox/updates.json` (untracked)
**Interfaces:**
- Consumes the Task 3 `npm run publish:firefox` command and valid AMO signing credentials.
- Produces GitHub Release tag `v2.0.2` and public XPI/update-manifest assets.
- Produces GitHub Release tag `v2.0.3` and public XPI/update-manifest assets.
- [ ] **Step 1: Verify release credentials before write operations**
@@ -302,20 +302,20 @@ Run:
npm run publish:firefox
```
Expected: Mozilla signing succeeds, GitHub Release `v2.0.2` is latest, and it
contains `verstak-firefox-2.0.2.xpi` plus `updates.json`.
Expected: Mozilla signing succeeds, GitHub Release `v2.0.3` is latest, and it
contains `verstak-firefox-2.0.3.xpi` plus `updates.json`.
- [ ] **Step 3: Verify public delivery**
Run:
```bash
gh release view v2.0.2 --repo mirivlad/verstak-browser-extension --json isLatest,url,assets
gh release view v2.0.3 --repo mirivlad/verstak-browser-extension --json isLatest,url,assets
curl -fsSL https://github.com/mirivlad/verstak-browser-extension/releases/latest/download/updates.json
```
Expected: the release is latest and the JSON contains addon ID
`verstak-bridge@verstak.app`, version `2.0.2`, and the versioned GitHub XPI
`verstak-bridge@verstak.app`, version `2.0.3`, and the versioned GitHub XPI
asset URL.
- [ ] **Step 4: Record release verification without committing assets**