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
7 changes: 0 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,16 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: '22'
cache: npm

# The build downscales the toolbar icons with sharp, so the dev
# dependencies have to be there before anything below runs.
- name: Install dependencies
run: npm ci

# Matches the signature rules against the real bundle output committed
# under test/fixtures.
- name: Signature tests
run: npm test

- name: Build both browser targets
run: npm run build

# Catches a manifest that points at a file the build did not copy, or the
# two manifests drifting apart.
- name: Validate build output
run: npm run validate
56 changes: 56 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Release Extension

on:
workflow_dispatch:

jobs:
publish_firefox:
environment: firefox-release
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: npm

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Publish to Firefox Add-ons
run: |
npx web-ext@latest sign \
--source-dir ./dist/firefox \
--channel listed \
--api-key "${{ secrets.AMO_JWT_ISSUER }}" \
--api-secret "${{ secrets.AMO_JWT_SECRET }}"

publish_chrome:
environment: chrome-release
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
cache: npm

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Publish to Chrome Web Store
uses: mnao305/chrome-extension-upload@v6.0.0
with:
file-path: dist/chrome.zip
extension-id: jagakebomapmaajkbbldhbilhgedlkmp
client-id: ${{ secrets.CLIENT_ID }}
client-secret: ${{ secrets.CLIENT_SECRET }}
refresh-token: ${{ secrets.REFRESH_TOKEN }}
Loading
Loading