mirror of
https://github.com/zen-browser/desktop.git
synced 2026-04-26 09:14:22 +00:00
Merge pull request #3135 from omove/arm64-testing
Linux/Windows ARM64 Builds
This commit is contained in:
46
.github/workflows/build.yml
vendored
46
.github/workflows/build.yml
vendored
@@ -115,7 +115,8 @@ jobs:
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: |
|
||||
pnpm install
|
||||
|
||||
- name: Setup Surfer
|
||||
run: |
|
||||
@@ -176,7 +177,8 @@ jobs:
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: |
|
||||
pnpm install
|
||||
|
||||
- name: Setup surfer
|
||||
run: |
|
||||
@@ -231,7 +233,8 @@ jobs:
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: |
|
||||
pnpm install
|
||||
|
||||
- name: Load surfer CI setup
|
||||
run: pnpm surfer ci --brand ${{ inputs.update_branch }} --display-version ${{ needs.build-data.outputs.version }}
|
||||
@@ -265,7 +268,7 @@ jobs:
|
||||
with:
|
||||
build-version: ${{ needs.build-data.outputs.version }}
|
||||
generate-gpo: true
|
||||
profile-data-path-archive: zen-windows-x86_64-profile-data-and-jarlog.zip
|
||||
profile-data-path-archive: zen-windows-profile-data-and-jarlog.zip
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
|
||||
windows-step-2:
|
||||
@@ -315,13 +318,13 @@ jobs:
|
||||
release-branch: ${{ inputs.update_branch }}
|
||||
|
||||
appimage:
|
||||
name: AppImage build - Linux ${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
name: AppImage build - Linux ${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
generic: [true, false]
|
||||
arch: [x86_64, x86_64-v3, aarch64]
|
||||
needs: [linux]
|
||||
steps:
|
||||
- name: Install Node.js
|
||||
@@ -343,7 +346,7 @@ jobs:
|
||||
- name: Download linux build
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
||||
name: zen.linux-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.tar.bz2
|
||||
|
||||
- name: Execute AppImage build
|
||||
run: |
|
||||
@@ -367,23 +370,23 @@ jobs:
|
||||
ls -al
|
||||
find .
|
||||
ls -al "$APPDIR"
|
||||
ARCH=x86_64 ./appimagetool-x86_64.AppImage --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 10 \
|
||||
-u "gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|desktop|latest|zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage.zsync" \
|
||||
"$APPDIR" zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage
|
||||
ARCH=${{ matrix.arch == 'aarch64' && 'aarch64' || 'x86_64' }} ./appimagetool-x86_64.AppImage --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 10 \
|
||||
-u "gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|desktop|latest|zen-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.AppImage.zsync" \
|
||||
"$APPDIR" zen-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.AppImage
|
||||
mkdir dist
|
||||
mv zen*AppImage* dist/.
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage
|
||||
path: ./dist/zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage
|
||||
name: zen-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.AppImage
|
||||
path: ./dist/zen-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.AppImage
|
||||
|
||||
- name: Upload artifact (ZSync)
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage.zsync
|
||||
path: ./dist/zen-${{ matrix.generic == true && 'generic' || 'specific' }}.AppImage.zsync
|
||||
name: zen-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.AppImage.zsync
|
||||
path: ./dist/zen-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.AppImage.zsync
|
||||
|
||||
release:
|
||||
if: ${{ inputs.create_release || inputs.update_branch == 'twilight' }}
|
||||
@@ -432,9 +435,11 @@ jobs:
|
||||
if [[ $RELEASE_BRANCH == 'alpha' ]]; then
|
||||
cp -a ../.github/workflows/object/windows-x64-signed-generic/update_manifest/. updates/
|
||||
cp -a ../.github/workflows/object/windows-x64-signed-specific/update_manifest/. updates/
|
||||
cp -a ../.github/workflows/object/windows-x64-signed-arm64/update_manifest/. updates/
|
||||
else
|
||||
cp -a ../windows_update_manifest_generic/. updates/
|
||||
cp -a ../windows_update_manifest_specific/. updates/
|
||||
cp -a ../windows_update_manifest_arm64/. updates/
|
||||
fi
|
||||
|
||||
cp -a ../macos_update_manifest_aarch64/. updates/
|
||||
@@ -456,20 +461,26 @@ jobs:
|
||||
zen.source.tar.gz
|
||||
zen.linux-generic.tar.bz2
|
||||
zen.linux-specific.tar.bz2
|
||||
zen.linux-aarch64.tar.bz2
|
||||
zen-generic.AppImage
|
||||
zen-generic.AppImage.zsync
|
||||
zen-specific.AppImage
|
||||
zen-specific.AppImage.zsync
|
||||
zen-aarch64.AppImage
|
||||
zen-aarch64.AppImage.zsync
|
||||
zen.win-generic.zip
|
||||
zen.win-specific.zip
|
||||
linux.mar
|
||||
linux-generic.mar
|
||||
linux-aarch64.mar
|
||||
windows-generic.mar
|
||||
windows.mar
|
||||
windows-arm64.mar
|
||||
macos-x64.mar
|
||||
macos-aarch64.mar
|
||||
zen.installer.exe
|
||||
zen.installer-generic.exe
|
||||
zen.installer-arm64.exe
|
||||
zen.macos-x64.dmg
|
||||
zen.macos-aarch64.dmg
|
||||
automatic_release_tag: 'twilight'
|
||||
@@ -492,20 +503,27 @@ jobs:
|
||||
zen.source.tar.gz
|
||||
zen.linux-generic.tar.bz2
|
||||
zen.linux-specific.tar.bz2
|
||||
zen.linux-aarch64.tar.bz2
|
||||
zen-generic.AppImage
|
||||
zen-generic.AppImage.zsync
|
||||
zen-specific.AppImage
|
||||
zen-specific.AppImage.zsync
|
||||
zen-aarch64.AppImage
|
||||
zen-aarch64.AppImage.zsync
|
||||
.github/workflows/object/windows-x64-signed-generic/zen.win-generic.zip
|
||||
.github/workflows/object/windows-x64-signed-specific/zen.win-specific.zip
|
||||
.github/workflows/object/windows-x64-signed-arm64/zen.win-arm64.zip
|
||||
linux.mar
|
||||
linux-generic.mar
|
||||
linux-aarch64.mar
|
||||
.github/workflows/object/windows-x64-signed-generic/windows-generic.mar
|
||||
.github/workflows/object/windows-x64-signed-specific/windows.mar
|
||||
.github/workflows/object/windows-x64-signed-arm64/windows-arm64.mar
|
||||
macos-x64.mar
|
||||
macos-aarch64.mar
|
||||
.github/workflows/object/windows-x64-signed-specific/zen.installer.exe
|
||||
.github/workflows/object/windows-x64-signed-generic/zen.installer-generic.exe
|
||||
.github/workflows/object/windows-x64-signed-arm64/zen.installer-arm64.exe
|
||||
zen.macos-x64.dmg
|
||||
zen.macos-aarch64.dmg
|
||||
|
||||
|
||||
48
.github/workflows/linux-release-build.yml
vendored
48
.github/workflows/linux-release-build.yml
vendored
@@ -20,8 +20,8 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
generic: [true, false]
|
||||
name: Build Linux - ${{ matrix.generic == true && 'Generic' || 'Specific' }}
|
||||
arch: [x86_64, x86_64-v3, aarch64]
|
||||
name: Build Linux - ${{ matrix.arch == 'x86_64' && 'Generic' || matrix.arch == 'x86_64-v3' && 'Specific' || matrix.arch == 'aarch64' && 'aarch64' }}
|
||||
|
||||
steps:
|
||||
- name: Free Disk Space (Ubuntu)
|
||||
@@ -88,7 +88,8 @@ jobs:
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: |
|
||||
pnpm install
|
||||
|
||||
- name: Load surfer CI setup
|
||||
run: pnpm surfer ci --brand ${{ inputs.release-branch }} --display-version ${{ inputs.build-version }}
|
||||
@@ -102,9 +103,15 @@ jobs:
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.79
|
||||
source $HOME/.cargo/env
|
||||
|
||||
if test "${{ matrix.arch }}" = "aarch64"; then
|
||||
rustup target add aarch64-unknown-linux-gnu
|
||||
else
|
||||
rustup target add x86_64-unknown-linux-gnu
|
||||
fi
|
||||
|
||||
- name: Import
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: pnpm surfer import
|
||||
|
||||
- name: Build language packs
|
||||
@@ -113,45 +120,52 @@ jobs:
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
cd engine
|
||||
export SURFER_PLATFORM="linux"
|
||||
./mach --no-interactive bootstrap --application-choice browser
|
||||
cd ..
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
continue-on-error: true
|
||||
run: sh .github/workflows/src/release-build.sh
|
||||
run: |
|
||||
export SURFER_PLATFORM="linux"
|
||||
sh .github/workflows/src/release-build.sh
|
||||
|
||||
- name: Build again if it failed
|
||||
if: failure()
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
run: sh .github/workflows/src/release-build.sh
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
export SURFER_PLATFORM="linux"
|
||||
sh .github/workflows/src/release-build.sh
|
||||
|
||||
- name: Package
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
run: pnpm package
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
export SURFER_PLATFORM="linux"
|
||||
pnpm package
|
||||
|
||||
- name: Rename artifacts
|
||||
run: |
|
||||
mv dist/zen-*.tar.bz2 "zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2"
|
||||
mv dist/output.mar linux${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||
mv dist/zen-*.tar.bz2 "zen.linux-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.tar.bz2"
|
||||
mv dist/output.mar linux${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
|
||||
|
||||
- name: Upload binary
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
||||
path: ./zen.linux-${{ matrix.generic == true && 'generic' || 'specific' }}.tar.bz2
|
||||
name: zen.linux-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.tar.bz2
|
||||
path: ./zen.linux-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.tar.bz2
|
||||
|
||||
- name: Upload mar
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linux${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||
path: ./linux${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||
name: linux${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
|
||||
path: ./linux${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
|
||||
|
||||
- name: Upload update manifests
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linux_update_manifest_${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
name: linux_update_manifest_${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}
|
||||
path: ./dist/update
|
||||
|
||||
21
.github/workflows/macos-release-build.yml
vendored
21
.github/workflows/macos-release-build.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
include:
|
||||
- arch: aarch64
|
||||
os: macos-14
|
||||
- arch: x64
|
||||
- arch: x86_64
|
||||
os: macos-13
|
||||
|
||||
steps:
|
||||
@@ -94,7 +94,9 @@ jobs:
|
||||
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: |
|
||||
pnpm install
|
||||
|
||||
- name: Load surfer CI setup
|
||||
run: pnpm surfer ci --brand ${{ inputs.release-branch }} --display-version ${{ inputs.build-version }}
|
||||
|
||||
@@ -104,13 +106,14 @@ jobs:
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
cd engine
|
||||
export SURFER_PLATFORM="darwin"
|
||||
export PATH="$(python3 -m site --user-base)/bin":$PATH
|
||||
./mach --no-interactive bootstrap --application-choice browser --no-system-changes
|
||||
cd ..
|
||||
|
||||
- name: Import
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
pnpm surfer import --verbose
|
||||
|
||||
@@ -119,16 +122,19 @@ jobs:
|
||||
|
||||
- name: build Zen
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
if test "${{ matrix.arch }}" = "x64"; then
|
||||
export SURFER_PLATFORM="darwin"
|
||||
if test "${{ matrix.arch }}" = "x86_64"; then
|
||||
export ZEN_DISABLE_LTO=1
|
||||
fi
|
||||
sh .github/workflows/src/release-build.sh
|
||||
|
||||
- name: Rebuild Zen if failed
|
||||
if: failure()
|
||||
run: sh .github/workflows/src/release-build.sh
|
||||
run: |
|
||||
export SURFER_PLATFORM="darwin"
|
||||
sh .github/workflows/src/release-build.sh
|
||||
|
||||
- name: import APPLE DEVELOPER ID CERTIFICATE for .app
|
||||
uses: apple-actions/import-codesign-certs@v3
|
||||
@@ -138,8 +144,9 @@ jobs:
|
||||
|
||||
- name: Package
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.arch == 'x64' }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
export SURFER_PLATFORM="darwin"
|
||||
export MACOS_APPLE_DEVELOPER_ID="${{ secrets.macOS_AppleDeveloperId }}"
|
||||
pnpm package
|
||||
|
||||
|
||||
8
.github/workflows/windows-profile-build.yml
vendored
8
.github/workflows/windows-profile-build.yml
vendored
@@ -17,11 +17,11 @@ on:
|
||||
|
||||
jobs:
|
||||
windows-profile-build:
|
||||
name: Windows Profile Build - ${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
name: Windows Profile Build - ${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
generic: [true, false]
|
||||
arch: [x86_64, x86_64-v3, aarch64]
|
||||
runs-on: windows-latest
|
||||
# Script edited from https://github.com/Floorp-Projects/Floorp/blob/ESR115/.github/workflows/window-generate-profile-data-and-jarlog.yml
|
||||
steps:
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
name: Download artifact
|
||||
with:
|
||||
path: C:\artifact
|
||||
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-zen-windows-x86_64-profile-data-and-jarlog.zip
|
||||
name: ${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'generic' }}-zen-windows-profile-data-and-jarlog.zip
|
||||
|
||||
- name: Unpack artifact
|
||||
run: |
|
||||
@@ -101,4 +101,4 @@ jobs:
|
||||
path: |
|
||||
merged.profdata
|
||||
en-US.log
|
||||
name: windows-profdata-${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
name: windows-profdata-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
|
||||
|
||||
57
.github/workflows/windows-release-build.yml
vendored
57
.github/workflows/windows-release-build.yml
vendored
@@ -20,12 +20,12 @@ on:
|
||||
|
||||
jobs:
|
||||
windows-build:
|
||||
name: Build Windows - ${{ matrix.generic == true && 'Generic' || 'Specific' }}
|
||||
name: Build Windows - ${{ matrix.arch == 'x86_64' && 'Generic' || matrix.arch == 'x86_64-v3' && 'Specific' || matrix.arch == 'aarch64' && 'ARM64' }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
generic: [true, false]
|
||||
arch: [x86_64, x86_64-v3, aarch64]
|
||||
|
||||
steps:
|
||||
- name: Free Disk Space (Ubuntu)
|
||||
@@ -55,7 +55,7 @@ jobs:
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pnpm i
|
||||
pnpm install
|
||||
|
||||
- name: Load surfer CI setup
|
||||
run: pnpm surfer ci --brand ${{ inputs.release-branch }} --display-version ${{ inputs.build-version }}
|
||||
@@ -125,7 +125,11 @@ jobs:
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.79
|
||||
source $HOME/.cargo/env
|
||||
|
||||
rustup target add x86_64-pc-windows-msvc
|
||||
if test "${{ matrix.arch }}" = "aarch64"; then
|
||||
rustup target add aarch64-pc-windows-msvc
|
||||
else
|
||||
rustup target add x86_64-pc-windows-msvc
|
||||
fi
|
||||
cargo install cargo-download
|
||||
cargo download -x windows=0.58.0
|
||||
#? https://github.com/mozilla/sccache#known-caveats
|
||||
@@ -136,7 +140,7 @@ jobs:
|
||||
|
||||
- name: Import
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: pnpm surfer import --verbose
|
||||
|
||||
- name: Build language packs
|
||||
@@ -147,7 +151,7 @@ jobs:
|
||||
if: ${{ !inputs.generate-gpo }}
|
||||
with:
|
||||
path: ~/artifact
|
||||
name: windows-profdata-${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
name: windows-profdata-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
|
||||
|
||||
- name: Show artifact info
|
||||
if: ${{ !inputs.generate-gpo }}
|
||||
@@ -161,7 +165,7 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
set -x
|
||||
dos2unix configs/windows/mozconfig
|
||||
@@ -174,12 +178,12 @@ jobs:
|
||||
|
||||
- name: Package
|
||||
env:
|
||||
SURFER_COMPAT: ${{ matrix.generic == true }}
|
||||
SURFER_COMPAT: ${{ matrix.arch }}
|
||||
run: |
|
||||
set -x
|
||||
export SURFER_PLATFORM="win32"
|
||||
pnpm package
|
||||
mv ./dist/zen-$(pnpm surfer get version | xargs).en-US.win64.zip zen.win64.zip
|
||||
mv ./dist/zen-$(pnpm surfer get version | xargs).en-US.win64${{ matrix.arch == 'aarch64' && '-aarch64' || '' }}.zip zen.win64.zip
|
||||
ls ./dist
|
||||
ls .
|
||||
|
||||
@@ -197,55 +201,60 @@ jobs:
|
||||
- name: Rename artifacts
|
||||
if: ${{ !inputs.generate-gpo }}
|
||||
run: |
|
||||
mv ./zen.win64.zip zen.win-${{ matrix.generic == true && 'generic' || 'specific' }}.zip
|
||||
mv ./dist/output.mar windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||
mv ./dist/zen.installer.exe ./zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
||||
mv ./zen.win64.zip zen.win-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}.zip
|
||||
mv ./dist/output.mar windows${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
|
||||
mv ./dist/zen.installer.exe ./zen.installer${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.exe
|
||||
|
||||
- name: Upload PGO build
|
||||
uses: actions/upload-artifact@v4
|
||||
if: ${{ inputs.generate-gpo }}
|
||||
with:
|
||||
name: ${{ matrix.generic == true && 'generic' || 'specific' }}-${{ inputs.profile-data-path-archive }}
|
||||
name: ${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}-${{ inputs.profile-data-path-archive }}
|
||||
path: ./zen.win64-pgo-stage-1.zip
|
||||
|
||||
- name: Remove unnecessary files from obj
|
||||
if: ${{ !inputs.generate-gpo }}
|
||||
run: |
|
||||
set -x
|
||||
find engine/obj-x86_64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type d -not -name 'dist' -exec rm -rf {} \;
|
||||
find engine/obj-x86_64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type f -not -name 'dist' -exec rm -f {} \;
|
||||
if test "${{ matrix.arch }}" = "aarch64"; then
|
||||
find engine/obj-aarch64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type d -not -name 'dist' -exec rm -rf {} \;
|
||||
find engine/obj-aarch64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type f -not -name 'dist' -exec rm -f {} \;
|
||||
else
|
||||
find engine/obj-x86_64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type d -not -name 'dist' -exec rm -rf {} \;
|
||||
find engine/obj-x86_64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type f -not -name 'dist' -exec rm -f {} \;
|
||||
fi
|
||||
|
||||
- name: Upload dist object
|
||||
if: ${{ !inputs.generate-gpo }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: windows-x64-obj-${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
path: engine/obj-x86_64-pc-windows-msvc/
|
||||
name: windows-x64-obj-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
|
||||
path: engine/obj-${{ matrix.arch == 'aarch64' && 'aarch64' || 'x86_64' }}-pc-windows-msvc/
|
||||
|
||||
- name: Upload zip file if twilight branch
|
||||
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zen.win-${{ matrix.generic == true && 'generic' || 'specific' }}.zip
|
||||
path: ./zen.win-${{ matrix.generic == true && 'generic' || 'specific' }}.zip
|
||||
name: zen.win-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}.zip
|
||||
path: ./zen.win-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}.zip
|
||||
|
||||
- name: Upload installer if twilight branch
|
||||
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
||||
path: ./zen.installer${{ matrix.generic == true && '-generic' || '' }}.exe
|
||||
name: zen.installer${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.exe
|
||||
path: ./zen.installer${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.exe
|
||||
|
||||
- name: Upload mar if twilight branch
|
||||
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||
path: ./windows${{ matrix.generic == true && '-generic' || '' }}.mar
|
||||
name: windows${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
|
||||
path: ./windows${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
|
||||
|
||||
- name: Upload update manifests if twilight branch
|
||||
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: windows_update_manifest_${{ matrix.generic == true && 'generic' || 'specific' }}
|
||||
name: windows_update_manifest_${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
|
||||
path: ./dist/update
|
||||
|
||||
@@ -89,7 +89,6 @@ ac_add_options --enable-raw
|
||||
ac_add_options --enable-webrtc
|
||||
ac_add_options --enable-jxl
|
||||
ac_add_options --enable-av1
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||
|
||||
|
||||
@@ -7,6 +7,59 @@ else
|
||||
export CXX=clang++
|
||||
fi
|
||||
|
||||
if test "$SURFER_COMPAT" = "x86_64"; then
|
||||
ac_add_options --target=x86_64-pc-linux
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
# Enable Profile Guided Optimization
|
||||
export MOZ_PGO=1
|
||||
ac_add_options MOZ_PGO=1
|
||||
|
||||
# Optimization flags for SURFER_COMPAT
|
||||
ac_add_options --enable-optimize="-O3 -march=x86-64"
|
||||
|
||||
export CFLAGS="$CFLAGS -O3 -ffp-contract=fast -march=x86-64"
|
||||
export CPPFLAGS="$CPPFLAGS -O3 -ffp-contract=fast -march=x86-64"
|
||||
export CXXFLAGS="$CXXFLAGS -O3 -flto=thin -ffp-contract=fast -march=x86-64"
|
||||
export LDFLAGS="$LDFLAGS -Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64"
|
||||
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64 -C codegen-units=1 -Clink-args=--icf=safe"
|
||||
elif test "$SURFER_COMPAT" = "aarch64"; then
|
||||
ac_add_options --target=aarch64-linux-gnu
|
||||
|
||||
ac_add_options --enable-optimize="-O3"
|
||||
|
||||
export CFLAGS="$CFLAGS -O3"
|
||||
export CPPFLAGS="$CPPFLAGS -O3"
|
||||
export CXXFLAGS="$CXXFLAGS -O3"
|
||||
export LDFLAGS="$LDFLAGS -Wl,-O3"
|
||||
export RUSTFLAGS="$RUSTFLAGS -C codegen-units=1 -Clink-args=--icf=safe"
|
||||
else
|
||||
ac_add_options --target=x86_64-pc-linux
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
# Enable Profile Guided Optimization
|
||||
export MOZ_PGO=1
|
||||
ac_add_options MOZ_PGO=1
|
||||
|
||||
# Optimization flags for general release
|
||||
ac_add_options --enable-wasm-avx
|
||||
ac_add_options --enable-optimize="-O3 -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
||||
|
||||
export CFLAGS="$CFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||
export CPPFLAGS="$CPPFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||
export CXXFLAGS="$CXXFLAGS -O3 -flto=thin -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||
export LDFLAGS="$LDFLAGS -Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64-v3"
|
||||
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64-v3 -C target-feature=+sse4.1 -C target-feature=+avx2 -C codegen-units=1 -Clink-args=--icf=safe"
|
||||
fi
|
||||
|
||||
export VERBOSE=1
|
||||
# Uncomment if you want to enable Polly optimizations
|
||||
#export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
|
||||
|
||||
# Common options
|
||||
ac_add_options --enable-alsa
|
||||
ac_add_options --enable-pulseaudio
|
||||
|
||||
if test "$ZEN_RELEASE"; then
|
||||
# Disable DMD and ELF hacks, enable linker lld
|
||||
ac_add_options --disable-dmd
|
||||
@@ -26,38 +79,4 @@ if test "$ZEN_RELEASE"; then
|
||||
ac_add_options --with-ccache=/home/runner/.mozbuild/sccache/sccache
|
||||
mk_add_options 'export SCCACHE_GHA_ENABLED=on'
|
||||
fi
|
||||
|
||||
# Enable Profile Guided Optimization
|
||||
export MOZ_PGO=1
|
||||
ac_add_options MOZ_PGO=1
|
||||
|
||||
if test "$SURFER_COMPAT" = "true"; then
|
||||
# Optimization flags for SURFER_COMPAT
|
||||
ac_add_options --enable-optimize="-O3 -march=x86-64"
|
||||
|
||||
export CFLAGS="$CFLAGS -O3 -ffp-contract=fast -march=x86-64"
|
||||
export CPPFLAGS="$CPPFLAGS -O3 -ffp-contract=fast -march=x86-64"
|
||||
export CXXFLAGS="$CXXFLAGS -O3 -flto=thin -ffp-contract=fast -march=x86-64"
|
||||
export LDFLAGS="$LDFLAGS -Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64"
|
||||
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64 -C codegen-units=1 -Clink-args=--icf=safe"
|
||||
else
|
||||
# Optimization flags for general release
|
||||
ac_add_options --enable-wasm-avx
|
||||
ac_add_options --enable-optimize="-O3 -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpopcnt -mpclmul"
|
||||
|
||||
export CFLAGS="$CFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||
export CPPFLAGS="$CPPFLAGS -O3 -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||
export CXXFLAGS="$CXXFLAGS -O3 -flto=thin -ffp-contract=fast -march=x86-64-v3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -mpopcnt -mpclmul"
|
||||
export LDFLAGS="$LDFLAGS -Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64-v3"
|
||||
export RUSTFLAGS="$RUSTFLAGS -C target-cpu=x86-64-v3 -C target-feature=+sse4.1 -C target-feature=+avx2 -C codegen-units=1 -Clink-args=--icf=safe"
|
||||
fi
|
||||
|
||||
export VERBOSE=1
|
||||
# Uncomment if you want to enable Polly optimizations
|
||||
#export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
|
||||
fi
|
||||
|
||||
# Common options
|
||||
ac_add_options --target=x86_64-pc-linux
|
||||
ac_add_options --enable-alsa
|
||||
ac_add_options --enable-pulseaudio
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
|
||||
# SURFER_COMPAT has a different meaning here, in macOS it means that the build is for
|
||||
# x86_64, not ARM64.
|
||||
unset MOZ_STDCXX_COMPAT
|
||||
|
||||
ac_add_options --disable-dmd
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
export MOZ_MACBUNDLE_ID=${appId}
|
||||
export MOZ_MACBUNDLE_NAME="Zen Browser.app"
|
||||
|
||||
if test "$SURFER_COMPAT" = "true"; then
|
||||
if test "$SURFER_COMPAT" = "x86_64"; then
|
||||
export MOZ_PGO=1
|
||||
ac_add_options MOZ_PGO=1
|
||||
ac_add_options --target=x86_64-apple-darwin
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
|
||||
if test "$ZEN_CROSS_COMPILING"; then
|
||||
|
||||
export WINSYSROOT="$(echo ~)/win-cross/vs2022"
|
||||
|
||||
export MIDL="$(echo ~)/win-cross/wine/bin/widl"
|
||||
export WINE="$(echo ~)/win-cross/wine/bin/wine64"
|
||||
export WINEDEBUG=-all
|
||||
|
||||
@@ -12,26 +10,24 @@ if test "$ZEN_CROSS_COMPILING"; then
|
||||
|
||||
export CROSS_BUILD=1
|
||||
CROSS_COMPILE=1
|
||||
TOOLS=$(echo ~)/win-cross
|
||||
|
||||
export WIN_UCRT_REDIST_DIR="$(echo ~)/win-cross/vs2022/Windows Kits/10/Redist/10.0.22621.0/ucrt/DLLs/x64"
|
||||
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/x64/Microsoft.VC143.CRT"
|
||||
|
||||
export MIDL="$TOOLS/wine/bin/widl"
|
||||
export MOZ_STUB_INSTALLER=1
|
||||
export WINEDEBUG=-all
|
||||
export WINE="$TOOLS/wine/bin/wine64"
|
||||
if test "$SURFER_COMPAT" = "aarch64"; then
|
||||
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/arm64/Microsoft.VC143.CRT"
|
||||
else
|
||||
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/x64/Microsoft.VC143.CRT"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793
|
||||
#? https://phabricator.services.mozilla.com/D170170
|
||||
ac_add_options --target=x86_64-pc-windows-msvc
|
||||
|
||||
ac_add_options --disable-maintenance-service
|
||||
ac_add_options --disable-bits-download
|
||||
|
||||
if test "$SURFER_COMPAT" = "true"; then
|
||||
if test "$SURFER_COMPAT" = "x86_64"; then
|
||||
ac_add_options --target=x86_64-pc-windows-msvc
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize"
|
||||
|
||||
export CFLAGS="-mtune=haswell -march=x86-64 -O2 -Qvec -w"
|
||||
@@ -39,7 +35,21 @@ if test "$SURFER_COMPAT" = "true"; then
|
||||
export CXXFLAGS="-flto=thin -mtune=haswell -march=x86-64 -O2 -Qvec -w"
|
||||
export LDFLAGS="-Wl,-O2"
|
||||
export RUSTFLAGS="-Clink-args=--icf=safe -C codegen-units=1 -Ctarget-cpu=x86-64"
|
||||
elif test "$SURFER_COMPAT" = "aarch64"; then
|
||||
ac_add_options --target=aarch64-pc-windows-msvc
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
ac_add_options --enable-optimize="-O2 -mtune=cortex-a55 -march=armv8.2-a+simd"
|
||||
|
||||
export CFLAGS="-O2 -march=armv8.2-a+simd -mtune=cortex-a55"
|
||||
export CPPFLAGS="-O2 -march=armv8.2-a+simd -mtune=cortex-a55"
|
||||
export CXXFLAGS="-O2 -march=armv8.2-a+simd -mtune=cortex-a55"
|
||||
export LDFLAGS="-Wl,-O2 -march=armv8.2-a+simd -mtune=cortex-a55"
|
||||
export RUSTFLAGS="-C target-feature=+v8.2a -C codegen-units=1 -Ctarget-cpu=cortex-a55"
|
||||
else
|
||||
ac_add_options --target=x86_64-pc-windows-msvc
|
||||
ac_add_options --enable-eme=widevine
|
||||
|
||||
ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -mfma -maes -ftree-vectorize -Xclang -w"
|
||||
ac_add_options --enable-wasm-avx
|
||||
|
||||
|
||||
10
surfer.json
10
surfer.json
@@ -28,7 +28,9 @@
|
||||
"linux": "linux.mar",
|
||||
"macos-x64": "macos-x64.mar",
|
||||
"windows-compat": "windows-generic.mar",
|
||||
"linux-compat": "linux-generic.mar"
|
||||
"linux-compat": "linux-generic.mar",
|
||||
"windows-arm64": "windows-arm64.mar",
|
||||
"linux-aarch64": "linux-aarch64.mar"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -48,7 +50,9 @@
|
||||
"linux": "linux.mar",
|
||||
"macos-x64": "macos-x64.mar",
|
||||
"windows-compat": "windows-generic.mar",
|
||||
"linux-compat": "linux-generic.mar"
|
||||
"linux-compat": "linux-generic.mar",
|
||||
"windows-arm64": "windows-arm64.mar",
|
||||
"linux-aarch64": "linux-aarch64.mar"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -60,4 +64,4 @@
|
||||
"licenseType": "MPL-2.0"
|
||||
},
|
||||
"updateHostname": "updates.zen-browser.app"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user