Build #48
Workflow file for this run
This file contains hidden or 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
| # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json | |
| name: Build | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| MOZ_BUILD_DATE: | |
| description: Build date override | |
| required: false | |
| type: string | |
| PRE_RELEASE: | |
| description: Mark the build as a pre-release | |
| required: false | |
| default: "true" | |
| type: string | |
| TAG_VERSION: | |
| description: Display version | |
| required: true | |
| type: string | |
| workflow_call: | |
| inputs: | |
| MOZ_BUILD_DATE: | |
| required: false | |
| type: string | |
| PRE_RELEASE: | |
| required: false | |
| default: "true" | |
| type: string | |
| TAG_VERSION: | |
| required: true | |
| type: string | |
| outputs: | |
| versiondisplay: | |
| description: Display version used for this build | |
| value: ${{ jobs.metadata.outputs.version_display }} | |
| run_id: | |
| description: Build workflow run id | |
| value: ${{ jobs.metadata.outputs.run_id }} | |
| permissions: | |
| contents: read | |
| env: | |
| MOZ_BUILD_DATE: ${{ inputs.MOZ_BUILD_DATE }} | |
| PRE_RELEASE: ${{ inputs.PRE_RELEASE }} | |
| RUST_TOOLCHAIN: 1.95.0 | |
| TAG_VERSION: ${{ inputs.TAG_VERSION }} | |
| jobs: | |
| metadata: | |
| name: Build metadata | |
| runs-on: | |
| - namespace-profile-linux-sm | |
| outputs: | |
| run_id: ${{ steps.outputs.outputs.run_id }} | |
| version_display: ${{ steps.outputs.outputs.version_display }} | |
| steps: | |
| - name: Resolve version | |
| shell: bash | |
| run: | | |
| VERSION_DISPLAY="${TAG_VERSION}" | |
| { | |
| echo 'VERSION_DISPLAY<<EOF' | |
| printf '%s\n' "${VERSION_DISPLAY}" | |
| echo 'EOF' | |
| } >> "$GITHUB_ENV" | |
| - name: Export metadata outputs | |
| id: outputs | |
| shell: bash | |
| run: | | |
| echo "run_id=${GITHUB_RUN_ID}" >> "$GITHUB_OUTPUT" | |
| echo "version_display=${VERSION_DISPLAY}" >> "$GITHUB_OUTPUT" | |
| - name: Save build metadata | |
| shell: bash | |
| run: | | |
| mkdir -p artifacts | |
| { | |
| echo "VERSION_DISPLAY=${VERSION_DISPLAY}" | |
| echo "PRE_RELEASE=${PRE_RELEASE}" | |
| echo "MOZ_BUILD_DATE=${MOZ_BUILD_DATE}" | |
| echo "TAG_VERSION=${TAG_VERSION}" | |
| echo "BUILD_RUN_ID=${GITHUB_RUN_ID}" | |
| echo "COMMIT_SHA=${GITHUB_SHA}" | |
| } > artifacts/build-metadata.env | |
| - name: Upload build metadata | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: build-metadata | |
| path: artifacts/build-metadata.env | |
| build-windows-x64-stage-1: | |
| name: Windows x64 PGO generate | |
| runs-on: | |
| - namespace-profile-linux-md | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-windows-x64-stage-1 | |
| cancel-in-progress: true | |
| env: | |
| ARCH: x86_64-pc-windows-msvc | |
| MOZCONFIG: .mozconfig-x86_64-pc-windows-msvc | |
| WINEDEBUG: -all | |
| steps: | |
| - name: Install sccache | |
| uses: mozilla-actions/sccache-action@v0.0.10 | |
| - name: Setup Namespace sccache | |
| shell: bash | |
| run: | | |
| SCCACHE_ENV_VARS="$(nsc cache sccache setup --cache_name wf-build-windows-x64-stage1)" | |
| for kv in $SCCACHE_ENV_VARS; do | |
| echo "$kv" >> "$GITHUB_ENV" | |
| done | |
| - name: Checkout | |
| uses: namespacelabs/nscloud-checkout-action@v8 | |
| with: | |
| submodules: recursive | |
| - name: Setup build packages | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt install -y msitools zstd | |
| scripts/fetch-clang-22.sh | |
| curl -L https://github.com/ip7z/7zip/releases/download/26.01/7z2601-linux-x64.tar.xz | tar xJ | |
| sudo mv 7zz /usr/local/bin/7z | |
| - name: Install Rust target | |
| shell: bash | |
| run: | | |
| rustup default "${RUST_TOOLCHAIN}" | |
| rustup target add --toolchain "${RUST_TOOLCHAIN}" x86_64-pc-windows-msvc | |
| - name: Prepare version | |
| shell: bash | |
| run: printf '%s\n' "${TAG_VERSION}" > browser/config/version_display.txt | |
| - name: Configure release mode | |
| shell: bash | |
| run: | | |
| case "${PRE_RELEASE}" in | |
| true) | |
| echo WFX_PRE_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| false) | |
| echo WFX_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| *) | |
| echo "PRE_RELEASE must be true or false" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Update bundled blocker assets | |
| shell: bash | |
| run: bun waterfox/browser/components/blocker/scripts/update-bundled-assets.js | |
| - name: Update offline Remote Settings dumps | |
| shell: bash | |
| run: python3 scripts/update-remote-settings-dumps.py | |
| - name: Build instrumented binary | |
| shell: bash | |
| run: | | |
| export GEN_PGO=1 | |
| ./mach build | |
| - name: Package instrumented binary | |
| shell: bash | |
| run: ./mach package | |
| - name: Upload Windows x64 PGO generate outputs | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: windows-${{ env.ARCH }}-pgo-generate | |
| path: obj-${{ env.ARCH }}/dist/waterfox | |
| build-windows-x64-stage-2: | |
| name: Windows x64 PGO profile | |
| needs: | |
| - build-windows-x64-stage-1 | |
| runs-on: namespace-profile-windows-md | |
| defaults: | |
| run: | |
| shell: bash | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-windows-x64-stage-2 | |
| cancel-in-progress: true | |
| env: | |
| ARCH: x86_64-pc-windows-msvc | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup profile packages | |
| run: | | |
| curl -L https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe --output MozillaBuildSetup-Latest.exe | |
| 7z x MozillaBuildSetup-Latest.exe -o/c/mozilla-build | |
| scripts/fetch-clang-22.sh | |
| - name: Install Rust toolchain | |
| run: rustup default "${RUST_TOOLCHAIN}" | |
| - name: Download Windows x64 PGO generate outputs | |
| uses: namespace-actions/download-artifact@v2 | |
| with: | |
| name: windows-${{ env.ARCH }}-pgo-generate | |
| path: obj-${{ env.ARCH }}/dist/waterfox | |
| - name: Run PGO profile | |
| shell: pwsh | |
| run: | | |
| Remove-Item .mozconfig | |
| python mach configure --disable-bootstrap | |
| $env:LLVM_PROFDATA = "$HOME/.mozbuild/clang-22/bin/llvm-profdata.exe" | |
| $env:JARLOG_FILE = "en-US.log" | |
| python mach python build/pgo/profileserver.py --binary "./obj-${{ env.ARCH }}/dist/waterfox/waterfox.exe" | |
| - name: Upload Windows x64 PGO profile data | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: windows-${{ env.ARCH }}-pgo-profile | |
| path: | | |
| merged.profdata | |
| en-US.log | |
| build-windows-x64: | |
| name: Windows x64 | |
| needs: | |
| - build-windows-x64-stage-2 | |
| runs-on: | |
| - namespace-profile-linux-md | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-windows-x64-stage-3 | |
| cancel-in-progress: true | |
| env: | |
| ARCH: x86_64-pc-windows-msvc | |
| MOZCONFIG: .mozconfig-x86_64-pc-windows-msvc | |
| WINEDEBUG: -all | |
| steps: | |
| - name: Install sccache | |
| uses: mozilla-actions/sccache-action@v0.0.10 | |
| - name: Setup Namespace sccache | |
| shell: bash | |
| run: | | |
| SCCACHE_ENV_VARS="$(nsc cache sccache setup --cache_name wf-build-windows-x64-stage3)" | |
| for kv in $SCCACHE_ENV_VARS; do | |
| echo "$kv" >> "$GITHUB_ENV" | |
| done | |
| - name: Checkout | |
| uses: namespacelabs/nscloud-checkout-action@v8 | |
| with: | |
| submodules: recursive | |
| - name: Setup build packages | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt install -y msitools zstd | |
| scripts/fetch-clang-22.sh | |
| curl -L https://github.com/ip7z/7zip/releases/download/26.01/7z2601-linux-x64.tar.xz | tar xJ | |
| sudo mv 7zz /usr/local/bin/7z | |
| - name: Install Rust target | |
| shell: bash | |
| run: | | |
| rustup default "${RUST_TOOLCHAIN}" | |
| rustup target add --toolchain "${RUST_TOOLCHAIN}" x86_64-pc-windows-msvc | |
| - name: Prepare version | |
| shell: bash | |
| run: printf '%s\n' "${TAG_VERSION}" > browser/config/version_display.txt | |
| - name: Configure release mode | |
| shell: bash | |
| run: | | |
| case "${PRE_RELEASE}" in | |
| true) | |
| echo WFX_PRE_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| false) | |
| echo WFX_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| *) | |
| echo "PRE_RELEASE must be true or false" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Download Windows x64 PGO profile data | |
| uses: namespace-actions/download-artifact@v2 | |
| with: | |
| name: windows-${{ env.ARCH }}-pgo-profile | |
| path: ${{ github.workspace }} | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Update bundled blocker assets | |
| shell: bash | |
| run: bun waterfox/browser/components/blocker/scripts/update-bundled-assets.js | |
| - name: Update offline Remote Settings dumps | |
| shell: bash | |
| run: python3 scripts/update-remote-settings-dumps.py | |
| - name: Build | |
| shell: bash | |
| run: | | |
| export USE_PGO=1 | |
| ./mach build | |
| - name: Package | |
| shell: bash | |
| run: | | |
| ./mach package | |
| if [[ -d "$PWD/waterfox/browser/locales/en-GB" ]]; then | |
| ./mach package-multi-locale --locales ar cs da de el en-GB en-US es-ES es-MX fr hu id it ja ko lt nl nn-NO pl pt-BR pt-PT ru sv-SE th uk vi zh-CN zh-TW | |
| fi | |
| - name: Upload Windows build outputs | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: windows-${{ env.ARCH }}-build | |
| path: | | |
| obj-${{ env.ARCH }}/dist/waterfox | |
| obj-${{ env.ARCH }}/dist/host/bin/mar | |
| obj-${{ env.ARCH }}/browser/installer/windows/instgen/ | |
| build-windows-arm64: | |
| name: Windows ARM64 | |
| runs-on: | |
| - namespace-profile-linux-md | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-windows-arm64 | |
| cancel-in-progress: true | |
| env: | |
| ARCH: aarch64-pc-windows-msvc | |
| MOZCONFIG: .mozconfig-aarch64-pc-windows-msvc | |
| WINEDEBUG: -all | |
| steps: | |
| - name: Install sccache | |
| uses: mozilla-actions/sccache-action@v0.0.10 | |
| - name: Setup Namespace sccache | |
| shell: bash | |
| run: | | |
| SCCACHE_ENV_VARS="$(nsc cache sccache setup --cache_name wf-build-windows-arm64)" | |
| for kv in $SCCACHE_ENV_VARS; do | |
| echo "$kv" >> "$GITHUB_ENV" | |
| done | |
| - name: Checkout | |
| uses: namespacelabs/nscloud-checkout-action@v8 | |
| with: | |
| submodules: recursive | |
| - name: Setup build packages | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt install -y msitools zstd | |
| scripts/fetch-clang-22.sh | |
| curl -L https://github.com/ip7z/7zip/releases/download/26.01/7z2601-linux-x64.tar.xz | tar xJ | |
| sudo mv 7zz /usr/local/bin/7z | |
| - name: Install Rust target | |
| shell: bash | |
| run: | | |
| rustup default "${RUST_TOOLCHAIN}" | |
| rustup target add --toolchain "${RUST_TOOLCHAIN}" aarch64-pc-windows-msvc | |
| - name: Prepare version | |
| shell: bash | |
| run: printf '%s\n' "${TAG_VERSION}" > browser/config/version_display.txt | |
| - name: Configure release mode | |
| shell: bash | |
| run: | | |
| case "${PRE_RELEASE}" in | |
| true) | |
| echo WFX_PRE_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| false) | |
| echo WFX_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| *) | |
| echo "PRE_RELEASE must be true or false" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Update bundled blocker assets | |
| shell: bash | |
| run: bun waterfox/browser/components/blocker/scripts/update-bundled-assets.js | |
| - name: Update offline Remote Settings dumps | |
| shell: bash | |
| run: python3 scripts/update-remote-settings-dumps.py | |
| - name: Build | |
| shell: bash | |
| run: ./mach build | |
| - name: Package | |
| shell: bash | |
| run: | | |
| ./mach package | |
| if [[ -d "$PWD/waterfox/browser/locales/en-GB" ]]; then | |
| ./mach package-multi-locale --locales ar cs da de el en-GB en-US es-ES es-MX fr hu id it ja ko lt nl nn-NO pl pt-BR pt-PT ru sv-SE th uk vi zh-CN zh-TW | |
| fi | |
| - name: Upload Windows ARM64 build outputs | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: windows-${{ env.ARCH }}-build | |
| path: | | |
| obj-${{ env.ARCH }}/dist/waterfox | |
| obj-${{ env.ARCH }}/dist/host/bin/mar | |
| obj-${{ env.ARCH }}/browser/installer/windows/instgen/ | |
| build-macos: | |
| name: macOS ${{ matrix.arch }} | |
| runs-on: | |
| - namespace-profile-macos-tahoe-lg | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: | |
| - x86_64-apple-darwin | |
| - aarch64-apple-darwin | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-macos-${{ matrix.arch }} | |
| cancel-in-progress: true | |
| env: | |
| ARCH: ${{ matrix.arch }} | |
| MOZCONFIG: .mozconfig-${{ matrix.arch }} | |
| steps: | |
| - name: Install sccache | |
| uses: mozilla-actions/sccache-action@v0.0.10 | |
| - name: Setup Namespace sccache | |
| shell: bash | |
| run: | | |
| SCCACHE_ENV_VARS="$(nsc cache sccache setup --cache_name wf-build-macos-${ARCH})" | |
| for kv in $SCCACHE_ENV_VARS; do | |
| echo "$kv" >> "$GITHUB_ENV" | |
| done | |
| - name: Checkout | |
| uses: namespacelabs/nscloud-checkout-action@v8 | |
| with: | |
| submodules: recursive | |
| - name: Setup build packages | |
| shell: bash | |
| run: scripts/fetch-clang-22.sh | |
| - name: Install Rust target | |
| shell: bash | |
| run: | | |
| rustup default "${RUST_TOOLCHAIN}" | |
| rustup target add --toolchain "${RUST_TOOLCHAIN}" "${ARCH}" | |
| - name: Prepare version | |
| shell: bash | |
| run: printf '%s\n' "${TAG_VERSION}" > browser/config/version_display.txt | |
| - name: Configure release mode | |
| shell: bash | |
| run: | | |
| case "${PRE_RELEASE}" in | |
| true) | |
| echo WFX_PRE_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| false) | |
| echo WFX_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| *) | |
| echo "PRE_RELEASE must be true or false" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Update bundled blocker assets | |
| shell: bash | |
| run: bun waterfox/browser/components/blocker/scripts/update-bundled-assets.js | |
| - name: Update offline Remote Settings dumps | |
| shell: bash | |
| run: python3 scripts/update-remote-settings-dumps.py | |
| - name: Build | |
| shell: bash | |
| run: ./mach build | |
| - name: Package | |
| shell: bash | |
| run: | | |
| ./mach package | |
| if [[ -d "$PWD/waterfox/browser/locales/en-GB" ]]; then | |
| ./mach package-multi-locale --locales ar cs da de el en-GB en-US es-ES es-MX fr hu id it ja ko lt nl nn-NO pl pt-BR pt-PT ru sv-SE th uk vi zh-CN zh-TW | |
| fi | |
| - name: Upload macOS build outputs | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: macos-${{ matrix.arch }}-build | |
| path: | | |
| obj-${{ matrix.arch }}/dist/waterfox/*.app | |
| obj-${{ matrix.arch }}/dist/host/bin/mar | |
| build-linux-x64: | |
| name: Linux x64 | |
| runs-on: | |
| - namespace-profile-legacy-linux-md | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-linux-x64 | |
| cancel-in-progress: true | |
| env: | |
| ARCH: x86_64-pc-linux-gnu | |
| MOZCONFIG: .mozconfig-x86_64-pc-linux-gnu | |
| steps: | |
| - name: Install sccache | |
| uses: mozilla-actions/sccache-action@v0.0.10 | |
| - name: Setup Namespace sccache | |
| shell: bash | |
| run: | | |
| SCCACHE_ENV_VARS="$(nsc cache sccache setup --cache_name wf-build-linux-x64)" | |
| for kv in $SCCACHE_ENV_VARS; do | |
| echo "$kv" >> "$GITHUB_ENV" | |
| done | |
| - name: Checkout | |
| uses: namespacelabs/nscloud-checkout-action@v8 | |
| with: | |
| submodules: recursive | |
| - name: Setup build packages | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt install -y patchelf python3-cryptography xvfb zstd | |
| scripts/fetch-clang-22.sh | |
| curl -L https://github.com/ip7z/7zip/releases/download/26.01/7z2601-linux-x64.tar.xz | tar xJ | |
| sudo mv 7zz /usr/local/bin/7z | |
| - name: Install Rust toolchain | |
| shell: bash | |
| run: rustup default "${RUST_TOOLCHAIN}" | |
| - name: Prepare version | |
| shell: bash | |
| run: printf '%s\n' "${TAG_VERSION}" > browser/config/version_display.txt | |
| - name: Configure release mode | |
| shell: bash | |
| run: | | |
| case "${PRE_RELEASE}" in | |
| true) | |
| echo WFX_PRE_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| false) | |
| echo WFX_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| *) | |
| echo "PRE_RELEASE must be true or false" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Update bundled blocker assets | |
| shell: bash | |
| run: bun waterfox/browser/components/blocker/scripts/update-bundled-assets.js | |
| - name: Update offline Remote Settings dumps | |
| shell: bash | |
| run: python3 scripts/update-remote-settings-dumps.py | |
| - name: Build | |
| shell: bash | |
| run: xvfb-run -a --server-args="-screen 0 1280x1024x24" ./mach build | |
| - name: Package | |
| shell: bash | |
| run: | | |
| ./mach package | |
| if [[ -d "$PWD/waterfox/browser/locales/en-GB" ]]; then | |
| ./mach package-multi-locale --locales ar cs da de el en-GB en-US es-ES es-MX fr hu id it ja ko lt nl nn-NO pl pt-BR pt-PT ru sv-SE th uk vi zh-CN zh-TW | |
| fi | |
| - name: Bundle Linux build outputs | |
| shell: bash | |
| run: | | |
| dist_root="obj-${ARCH}/dist" | |
| tar -C "$dist_root" -cf linux-build.tar waterfox host/bin/mar | |
| - name: Upload Linux build outputs | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: linux-build | |
| path: linux-build.tar | |
| build-linux-arm64: | |
| name: Linux ARM64 | |
| runs-on: | |
| - namespace-profile-linux-md-arm | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-linux-arm64 | |
| cancel-in-progress: true | |
| env: | |
| ARCH: aarch64-unknown-linux-gnu | |
| MOZCONFIG: .mozconfig-aarch64-unknown-linux-gnu | |
| steps: | |
| - name: Install sccache | |
| uses: mozilla-actions/sccache-action@v0.0.10 | |
| - name: Setup Namespace sccache | |
| shell: bash | |
| run: | | |
| SCCACHE_ENV_VARS="$(nsc cache sccache setup --cache_name wf-build-linux-arm64)" | |
| for kv in $SCCACHE_ENV_VARS; do | |
| echo "$kv" >> "$GITHUB_ENV" | |
| done | |
| - name: Checkout | |
| uses: namespacelabs/nscloud-checkout-action@v8 | |
| with: | |
| submodules: recursive | |
| - name: Setup build packages | |
| shell: bash | |
| run: | | |
| sudo apt update | |
| sudo apt install -y clang lld patchelf python3-cryptography xvfb zstd | |
| scripts/fetch-clang-22.sh | |
| curl -L https://github.com/ip7z/7zip/releases/download/26.01/7z2601-linux-arm64.tar.xz | tar xJ | |
| sudo mv 7zz /usr/local/bin/7z | |
| - name: Install Rust target | |
| shell: bash | |
| run: | | |
| rustup default "${RUST_TOOLCHAIN}" | |
| rustup target add --toolchain "${RUST_TOOLCHAIN}" aarch64-unknown-linux-gnu | |
| - name: Prepare version | |
| shell: bash | |
| run: printf '%s\n' "${TAG_VERSION}" > browser/config/version_display.txt | |
| - name: Configure release mode | |
| shell: bash | |
| run: | | |
| case "${PRE_RELEASE}" in | |
| true) | |
| echo WFX_PRE_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| false) | |
| echo WFX_RELEASE=1 >> "$GITHUB_ENV" | |
| ;; | |
| *) | |
| echo "PRE_RELEASE must be true or false" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Update bundled blocker assets | |
| shell: bash | |
| run: bun waterfox/browser/components/blocker/scripts/update-bundled-assets.js | |
| - name: Update offline Remote Settings dumps | |
| shell: bash | |
| run: python3 scripts/update-remote-settings-dumps.py | |
| - name: Build | |
| shell: bash | |
| run: xvfb-run -a --server-args="-screen 0 1280x1024x24" ./mach build | |
| - name: Package | |
| shell: bash | |
| run: | | |
| ./mach package | |
| if [[ -d "$PWD/waterfox/browser/locales/en-GB" ]]; then | |
| ./mach package-multi-locale --locales ar cs da de el en-GB en-US es-ES es-MX fr hu id it ja ko lt nl nn-NO pl pt-BR pt-PT ru sv-SE th uk vi zh-CN zh-TW | |
| fi | |
| - name: Bundle Linux ARM64 build outputs | |
| shell: bash | |
| run: | | |
| dist_root="obj-${ARCH}/dist" | |
| tar -C "$dist_root" -cf linux-aarch64-build.tar waterfox host/bin/mar | |
| - name: Upload Linux ARM64 build outputs | |
| uses: namespace-actions/upload-artifact@v1 | |
| with: | |
| name: linux-aarch64-build | |
| path: linux-aarch64-build.tar |