Files
videospeed/.github/workflows/deploy.yml
T

63 lines
1.7 KiB
YAML

name: Build & Release Firefox Addon
# Trigger only on tags
on:
push:
tags:
- "v*" # any tag starting with v
jobs:
build:
runs-on: ubuntu-latest
steps:
# 1️⃣ Checkout code
- uses: actions/checkout@v4
# 2️⃣ Install dependencies
- name: Install deps
run: npm install -g web-ext
# 3️⃣ Build XPI
- name: Build extension
run: web-ext build --overwrite-dest
# 4️⃣ Get built XPI path
- name: Get XPI path
id: xpi
run: |
FILE=$(ls web-ext-artifacts/*.xpi | head -n 1)
echo "file=$FILE" >> $GITHUB_OUTPUT
# 5️⃣ Determine if prerelease or main
- name: Determine release type
id: release_type
run: |
if [[ "${GITHUB_REF#refs/tags/}" == *"-beta"* ]]; then
echo "prerelease=true" >> $GITHUB_OUTPUT
else
echo "prerelease=false" >> $GITHUB_OUTPUT
fi
# 6️⃣ Create GitHub Release
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
files: ${{ steps.xpi.outputs.file }}
prerelease: ${{ steps.release_type.outputs.prerelease }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# 7️⃣ AMO deploy (main only)
- name: Sign & Upload to AMO
if: steps.release_type.outputs.prerelease == 'false'
run: |
web-ext sign \
--api-key ${{ secrets.FIREFOX_API_KEY }} \
--api-secret ${{ secrets.FIREFOX_API_SECRET }} \
--source-dir . \
--artifacts-dir web-ext-artifacts \
--channel unlisted