commit 84d7f4c7e00b9598ef0044755228f599280d8d81 Author: sneedgroup-holder Date: Thu Jan 30 01:06:22 2025 +0000 Add .forgejo/work/build-linux.yml diff --git a/.forgejo/work/build-linux.yml b/.forgejo/work/build-linux.yml new file mode 100644 index 0000000..d97ee20 --- /dev/null +++ b/.forgejo/work/build-linux.yml @@ -0,0 +1,74 @@ +name: Build Firefox on Linux + +on: + repository_dispatch: + inputs: + debugger_keyword: + description: "Name of the debugger keyword" + required: false + default: "" + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Free up Disk Space + run: | + sudo rm -rf /usr/local/lib/android + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf /opt/hostedtoolcache/CodeQL + sudo docker image prune --all --force + + - name: Bootstrap Mozilla Source + run: | + curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O + python3 bootstrap.py --application-choice=browser --no-interactive + + - name: Update Local Source + working-directory: ./mozilla-unified + run: hg up -C central + + - name: Initialize `mozconfig` + working-directory: ./mozilla-unified + run: echo "ac_add_options --with-branding=browser/branding/unofficial" > mozconfig + + - name: Get foxified profile + working-directory: ./ + run: git clone "https://github.com/Sneed-Group/sneedium2-foxified-profile" + + - name: Initialize `foxified profile` + working-directory: ./mozilla-unified + run: cp -r ../sneedium2-foxified-profile/ . + + - name: Set Release Tag Output + id: release-tag + run: echo "NOW=$(date +'%Y%m%d%H%M%S')" >> $FORGEJO_OUTPUT + + - name: Construct New `debugger` Keyword + id: debugger-keyword + run: echo "DEBUGGER_KEYWORD=${{ inputs.debugger_keyword || 'debugger' + steps.release-tag.outputs.NOW }}" >> $FORGEJO_OUTPUT + + - name: Replace `debugger` Keyword + working-directory: ./mozilla-unified + run: sed -i 's/MACRO(debugger/MACRO(${ steps.debugger-keyword.outputs.DEBUGGER_KEYWORD })/' ./js/src/frontend/ReservedWords.h + + - name: Build and Package + working-directory: ./mozilla-unified + run: | + ./mach build + ./mach package + + - name: Upload Artifacts + run: | + mkdir -p /tmp/artifacts + cp ./mozilla-unified/obj-x86_64-pc-linux-gnu/dist/*.tar* /tmp/artifacts/ + curl -X POST -F "file=@/tmp/artifacts/*" https://your-forgejo-instance/api/v1/repositories/{repo_id}/releases/assets + + - name: Create Release + run: | + curl -X POST -H "Authorization: token $FORGEJO_TOKEN" \ + -d '{"tag_name": "linux-${{ steps.release-tag.outputs.NOW }}", "name": "linux release"}' \ + https://your-forgejo-instance/api/v1/repos/{owner}/{repo}/releases