Skip to content

Publish to CWS & Addons #6

Publish to CWS & Addons

Publish to CWS & Addons #6

Workflow file for this run

name: Publish to CWS & Addons
on:
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
ref: main
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Build Distributable Package
run: pnpm build
- name: Archive Extension Files
run: |
function create_zip {
# $1: target browser
if [ "$1" == "firefox" ]; then
jq '
.background = {
"type": "module",
"scripts": ["background.js"]
} |
.browser_specific_settings = {
"gecko": {
"id": "chorus@cdrani.dev",
"strict_min_version": "112.0"
}
}
' dist/manifest.json > dist/manifest.temp.json && mv dist/manifest.temp.json dist/manifest.json
fi
cd dist && zip -r "../chorus-$1.zip" . && cd ..
}
create_zip chrome
create_zip firefox
- name: Chrome Upload & Publish
uses: cdrani/chrome-extension-upload@ci/silent-update-fail
with:
silent-fail: true
file-path: chorus-chrome.zip
client-id: ${{ secrets.CLIENT_ID }}
extension-id: ${{ secrets.EXTENSION_ID }}
client-secret: ${{ secrets.CLIENT_SECRET }}
refresh-token: ${{ secrets.REFRESH_TOKEN }}
- name: FireFox Upload & Publish
uses: yayuyokitano/firefox-addon@v0.0.3-alpha
with:
guid: 'chorus@cdrani.dev'
xpi_path: chorus-firefox.zip
api_key: ${{ secrets.AMO_ISSUER }}
api_secret: ${{ secrets.AMO_SECRET }}