build-trigger #29
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: Package Extension | |
if: success() | |
run: | | |
cd dist | |
zip -r ../frankerfacez-extension-$FFZ_VERSION.$FFZ_BUILD.zip * | |
cd .. | |
- name: Attest Extension | |
if: success() | |
uses: actions/attest-build-provenance@v1 | |
with: | |
subject-path: frankerfacez-extension-${{ env.FFZ_VERSION }}.${{ env.FFZ_BUILD }}.zip | |
- name: Upload Extension | |
id: artifact-upload-step | |
if: success() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: extension | |
path: frankerfacez-extension-${{ env.FFZ_VERSION }}.${{ env.FFZ_BUILD }}.zip | |
- name: Now, Testing | |
if: success() | |
run: | | |
node scripts/testing-manifest.js | |
- name: Package Testing | |
if: success() | |
run: | | |
cd dist | |
zip -r ../frankerfacez-testing-$FFZ_VERSION.$FFZ_BUILD.zip * | |
cd .. | |
- name: Attest Testing | |
if: success() | |
uses: actions/attest-build-provenance@v1 | |
with: | |
subject-path: frankerfacez-testing-${{ env.FFZ_VERSION }}.${{ env.FFZ_BUILD }}.zip | |
- name: Upload Testing | |
id: artifact-upload-step-testing | |
if: success() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testing | |
path: frankerfacez-testing-${{ env.FFZ_VERSION }}.${{ env.FFZ_BUILD }}.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 }}>) | |
``` | |
${{ env.LATEST_MESSAGE }}``` | |
[Download Source](<${{ steps.source-upload-step.outputs.artifact-url }}>) | |
[Download Extension](<${{ steps.artifact-upload-step.outputs.artifact-url }}>) | |
[Download Testing](<${{ steps.artifact-upload-step-testing.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 }}>) | |
``` | |
${{ env.LATEST_MESSAGE }}``` | |
Please check the logs for details. | |
[Download Source](<${{ steps.source-upload-step.outputs.artifact-url }}>) |