Skip to content

Fixes #257

Fixes #257 #87

Workflow file for this run

# Attempt to build the whole browser
name: Browser
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
# Test complete build on Ubuntu
ubuntu-build:
runs-on: ubuntu-22.04
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Install Dependencies
run: |
df -h
sudo apt-get update
sudo apt-get install -y \
curl \
python3 \
python3-pip \
python3-venv \
tar \
zip \
unzip \
git
sudo apt-get install -y --no-install-recommends ffmpeg libasound2 libatk1.0-0 libcairo-gobject2 libcairo2 libdbus-1-3 libdbus-glib-1-2 libfontconfig1 libfreetype6 libgdk-pixbuf-2.0-0 libglib2.0-0 libgtk-3-0 libpango-1.0-0 libpangocairo-1.0-0 libx11-6 libx11-xcb1 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxtst6 xvfb fonts-noto-color-emoji fonts-unifont xfonts-cyrillic xfonts-scalable fonts-liberation fonts-ipafont-gothic fonts-wqy-zenhei fonts-tlwg-loma-otf fonts-freefont-ttf
python3 -m pip install setuptools
df -h
- name: Checkout release branch
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Dry Run
run: |
df -h
cp taintfox_mozconfig_ubuntu .mozconfig
bash build.sh -p -n
- name: Bootstrap
run: |
df -h
bash build.sh -u -v
- name: Build
run: |
df -h
bash build.sh -s -v
- name: Package
run: |
df -h
bash build.sh -s -u
# Test complete build on Windows
windows-build:
runs-on: windows-latest
steps:
- name: Download mozbuild
run: |
Set-PSDebug -Trace 1
Invoke-WebRequest https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe -OutFile .\MozillaBuildSetup-Latest.exe
Start-Process .\MozillaBuildSetup-Latest.exe -ArgumentList '/S /D=C:\mozilla-build' -Wait
cmd.exe /c 'C:\mozilla-build\start-shell.bat' --help
rm .\MozillaBuildSetup-Latest.exe
- name: Checkout release branch
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Bootstrap
run: |
cp "taintfox_mozconfig_win" ".mozconfig"
.\mach.ps1 --no-interactive bootstrap --application-choice=browser
$env:RUST_VERSION=$((((Get-Content .\.PLAYWRIGHT_VERSION | select-string RUST_VERSION) -Split "=")[1] -Split '"')[1])
echo "Installing $env:RUST_VERSION from .PLAYWRIGHT_VERSION"
rustup install $env:RUST_VERSION
rustup default $env:RUST_VERSION
- name: Build
run: |
.\mach.ps1 build
- name: Package
run: |
.\mach.ps1 package
# Test complete build on MacOS
macos-build:
strategy:
matrix:
# Build using both latest (M1 ARM) and macos-13 (Intel x86)
os: [macos-latest, macos-13]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout release branch
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Bootstrap
run: |
cp "taintfox_mozconfig_ubuntu" ".mozconfig"
python3.11 ./mach --no-interactive bootstrap --application-choice=browser
source .PLAYWRIGHT_VERSION
echo "Installing ${RUST_VERSION} from .PLAYWRIGHT_VERSION"
rustup install ${RUST_VERSION}
rustup default ${RUST_VERSION}
- name: Build
run: |
python3.11 ./mach build
- name: Package
run: |
python3.11 ./mach package