Skip to content

build-trigger

build-trigger #23

name: Build Extension
on:
repository_dispatch:
types: [build-trigger]
jobs:
build:
runs-on: ubuntu-latest
permissions:
id-token: write
actions: read
contents: write
attestations: write
steps:
- name: Checkout Extension Repo
uses: actions/checkout@v4
- name: Uses PNPM
uses: pnpm/action-setup@v4
with:
version: 8
run_install: false
- name: Uses Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: 18
cache: 'pnpm'
- name: Clone FrankerFaceZ Repository
run: |
git clone https://github.com/FrankerFaceZ/FrankerFaceZ.git client
- name: Clone Add-Ons Repository
run: |
git clone https://github.com/FrankerFaceZ/Add-Ons.git addons
- name: Calculate and Log Version
run: |
./scripts/calculate-version.sh
cat .env >> $GITHUB_ENV
- name: Make a Source Artifact for Firefox
id: source-upload-step
uses: actions/upload-artifact@v4
with:
name: source
path: |
client/*
addons/*
src/*
scripts/*
ffz_env
README.md
- name: Build the Main Client
run: |
cd client
pnpm install
FFZ_EXTENSION=true pnpm build
cd ..
- name: Build the Add-Ons Repository
run: |
cd addons
pnpm install
FFZ_EXTENSION=true pnpm build
cd ..
- name: Copy Build Output
run: |
./scripts/copy-output.sh
- name: Edit Manifest (Insert Version)
run: node scripts/update-manifest.js
- name: ZIP Output
if: success()
run: |
zip -r extension.zip dist/*
- name: Attest Output
if: success()
uses: actions/attest-build-provenance@v1
with:
subject-path: extension.zip
- name: Upload Output
id: artifact-upload-step
if: success()
uses: actions/upload-artifact@v4
with:
name: extension
path: extension.zip
- name: Report Success
if: success()
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
embed-color: 3066993
embed-title: ✅ Extension Build Succeeded
embed-url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
embed-description: |
**Version**: ${{ env.FFZ_VERSION }}.${{ env.FFZ_BUILD }}
**Main Client Commit**: [${{ env.CLIENT_COMMIT }}](<https://github.com/FrankerFaceZ/FrankerFaceZ/commit/${{ env.CLIENT_COMMIT }}>)
**Add-Ons Commit**: [${{ env.ADDONS_COMMIT }}](<https://github.com/FrankerFaceZ/Add-Ons/commit/${{ env.ADDONS_COMMIT }}>)
[Download Source](<${{ steps.source-upload-step.outputs.artifact-url }}>)
[Download Artifact](<${{ steps.artifact-upload-step.outputs.artifact-url }}>)
- name: Report Failure
if: failure()
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
embed-color: 15158332
embed-title: ❌ Extension Build Failed
embed-url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
embed-description: |
**Version**: ${{ env.FFZ_VERSION }}.${{ env.FFZ_BUILD }}
**Main Client Commit**: [${{ env.CLIENT_COMMIT }}](<https://github.com/FrankerFaceZ/FrankerFaceZ/commit/${{ env.CLIENT_COMMIT }}>)
**Add-Ons Commit**: [${{ env.ADDONS_COMMIT }}](<https://github.com/FrankerFaceZ/Add-Ons/commit/${{ env.ADDONS_COMMIT }}>)
Please check the logs for details.
[Download Source](<${{ steps.source-upload-step.outputs.artifact-url }}>)