diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml index 169d816af..82878dbbf 100644 --- a/.github/workflows/alpha.yml +++ b/.github/workflows/alpha.yml @@ -229,13 +229,13 @@ jobs: build-version: ${{ needs.build-data.outputs.version }} appimage: - name: AppImage build - Linux ${{ matrix.arch }} + name: AppImage build - Linux ${{ matrix.generic == 'true' && 'generic' || 'specific' }} permissions: contents: write runs-on: ubuntu-latest strategy: matrix: - arch: [x64, x32] + generic: [true, false] needs: [linux] steps: - name: Install Node.js @@ -262,26 +262,24 @@ jobs: cp configs/branding/alpha/logo128.png AppDir/usr/share/icons/hicolor/128x128/apps/zen.png cp configs/branding/alpha/logo128.png AppDir/zen.png && ln -s zen.png AppDir/.DirIcon - APPIMAGE_TARGET=${{ matrix.arch == 'x64' && 'x86_64' || 'i686' }} - APPDIR=AppDir tar -xvf *.tar.* && rm -rf *.tar.* mv zen/* $APPDIR/ - wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$APPIMAGE_TARGET.AppImage + wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage chmod +x *.AppImage chmod +x ./AppDir/AppRun echo "AppDir: $APPDIR" ls -al find . ls -al "$APPDIR" - ARCH=$APPIMAGE_TARGET ./appimagetool-$APPIMAGE_TARGET.AppImage --comp gzip "$APPDIR" zen.AppImage + ARCH=x86_64 ./appimagetool-x86_64.AppImage --comp gzip "$APPDIR" zen.AppImage mkdir dist mv zen.AppImage* dist/. - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: zen-x${{ matrix.arch }}.AppImage + name: zen-${{ matrix.generic == 'true' && 'generic' || 'specific' }}.AppImage path: ./dist/zen.AppImage release: @@ -314,9 +312,14 @@ jobs: run: | cd updates-server mkdir -p updates - cp -a ../linux_update_manifest/. updates/ - cp -a ../windows_update_manifest/. updates/ - cp -a ../macos_update_manifest/. updates/ + cp -a ../linux_update_manifest_generic/. updates/ + cp -a ../linux_update_manifest_specific/. updates/ + + cp -a ../windows_update_manifest_generic/. updates/ + cp -a ../windows_update_manifest_specific/. updates/ + + cp -a ../macos_update_manifest_aarch64/. updates/ + cp -a ../macos_update_manifest_x64/. updates/ - uses: stefanzweifel/git-auto-commit-action@v4 with: @@ -335,26 +338,26 @@ jobs: files: | zen.source.tar.gz - zen.linux-x64.tar.bz2 - zen.linux-x32.tar.bz2 + zen.linux-generic.tar.bz2 + zen.linux-specific.tar.bz2 - zen-x64.AppImage - zen-x32.AppImage + zen-generic.AppImage + zen-specific.AppImage - zen.win-x64.zip - zen.win-x32.zip + zen.win-generic.zip + zen.win-specific.zip - linux-x64.mar - linux-x32.mar + linux.mar + linux-generic.mar - windows-x64.mar - windows-x32.mar + windows.mar + windows-generic.mar macos-x64.mar macos-aarch64.mar - zen.installer-x64.exe - zen.installer-x32.exe + zen.installer.exe + zen.installer-generic.exe zen.macos-x64.dmg zen.macos-aarch64.dmg diff --git a/.github/workflows/linux-alpha-build.yml b/.github/workflows/linux-alpha-build.yml index df2a2a206..08a06a676 100644 --- a/.github/workflows/linux-alpha-build.yml +++ b/.github/workflows/linux-alpha-build.yml @@ -13,9 +13,10 @@ jobs: contents: write runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - arch: [x64, x32] - name: Build Linux - ${{ matrix.arch }} + generic: [true, false] + name: Build Linux - ${{ matrix.generic == 'true' && 'Generic' || 'Specific' }} steps: - name: Install Node.js @@ -83,11 +84,6 @@ jobs: - name: Install dependencies run: pnpm install - - name: Run compatibility install - if: matrix.arch == 'x32' - run: | - rustup target add i686-unknown-linux-gnu - - name: Load surfer CI setup run: pnpm surfer ci --brand alpha --display-version ${{ inputs.build-version }} @@ -96,7 +92,7 @@ jobs: - name: Import env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} run: pnpm surfer import - name: Bootstrap @@ -107,19 +103,19 @@ jobs: - name: Build env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} continue-on-error: true run: sh .github/workflows/src/alpha-build.sh - name: Build again if it failed if: failure() env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} run: sh .github/workflows/src/alpha-build.sh - name: Package env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} run: pnpm package - name: Rename artifacts @@ -130,17 +126,17 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: zen.linux-${{ matrix.arch }}.tar.bz2 + name: zen.linux-${{ matrix.generic == 'true' && 'generic' || 'specific' }}.tar.bz2 path: ./zen.linux.tar.bz2 - name: Upload mar uses: actions/upload-artifact@v4 with: - name: linux-${{ matrix.arch }}.mar + name: linux${{ matrix.generic == 'true' && '-generic' || '' }}.mar path: ./linux.mar - name: Upload update manifests uses: actions/upload-artifact@v4 with: - name: linux_update_manifest_${{ matrix.arch }} + name: linux_update_manifest_${{ matrix.generic == 'true' && 'generic' || 'specific' }} path: ./dist/update diff --git a/.github/workflows/macos-alpha-build.yml b/.github/workflows/macos-alpha-build.yml index f06517563..67bd6a8fd 100644 --- a/.github/workflows/macos-alpha-build.yml +++ b/.github/workflows/macos-alpha-build.yml @@ -12,6 +12,7 @@ jobs: name: Build macOS - ${{ matrix.arch }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: include: - arch: aarch64 diff --git a/.github/workflows/windows-alpha-build.yml b/.github/workflows/windows-alpha-build.yml index 9b4ce271b..b1f39b212 100644 --- a/.github/workflows/windows-alpha-build.yml +++ b/.github/workflows/windows-alpha-build.yml @@ -16,11 +16,12 @@ on: jobs: windows-build: - name: Build Windows - ${{ matrix.arch }} + name: Build Windows - ${{ matrix.generic == 'true' && 'Generic' || 'Specific' }} runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - arch: [x64, x32] + generic: [true, false] steps: - name: Install Node.js and pnpm @@ -119,11 +120,7 @@ jobs: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.76 source $HOME/.cargo/env - if test ${{ matrix.arch }} == 'x32'; then - rustup target add i686-pc-windows-msvc - else - rustup target add x86_64-pc-windows-msvc - fi + rustup target add x86_64-pc-windows-msvc cargo install cargo-download cargo download -x windows=0.52.0 #? https://github.com/mozilla/sccache#known-caveats @@ -140,12 +137,12 @@ jobs: - name: Import env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} run: pnpm surfer import --verbose - name: Build env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} run: | set -x dos2unix configs/windows/mozconfig @@ -158,7 +155,7 @@ jobs: - name: Package env: - SURFER_COMPAT: ${{ matrix.arch == 'x32' }} + SURFER_COMPAT: ${{ matrix.generic == 'true' }} run: | set -x export SURFER_PLATFORM="win32" @@ -178,7 +175,7 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: zen.win-${{ matrix.arch }}.zip + name: zen.win-${{ matrix.generic == 'true' && 'generic' || 'specific' }}.zip path: ./zen.win64.zip - name: Upload PGO build @@ -192,14 +189,14 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: windows-${{ matrix.arch }}.mar + name: windows${{ matrix.generic == 'true' && '-generic' || '' }}.mar path: ./windows.mar - name: Upload installer uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: zen.installer-${{ matrix.arch }}.exe + name: zen.installer${{ matrix.generic == 'true' && '-generic' || '' }}.exe path: ./dist/zen.installer.exe - name: Upload installer stub @@ -213,5 +210,5 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ !inputs.generate-gpo }} with: - name: windows_update_manifest_${{ matrix.arch }} + name: windows_update_manifest_${{ matrix.generic == 'true' && 'generic' || 'specific' }} path: ./dist/update diff --git a/configs/linux/mozconfig b/configs/linux/mozconfig index e43e0189e..36d40258d 100644 --- a/configs/linux/mozconfig +++ b/configs/linux/mozconfig @@ -23,18 +23,9 @@ if test "$ZEN_RELEASE"; then ac_add_options --with-ccache=/home/runner/.mozbuild/sccache/sccache mk_add_options 'export SCCACHE_GHA_ENABLED=on' fi -fi -if test "$SURFER_COMPAT" = "true"; then - # Build for linux-i686 - ac_add_options --target=i686-pc-linux -else - # Note: we dont do PGO for i686 because we need to figure out about: - # "libgtk-3.so.0: cannot open shared object file: No such file or directory" export MOZ_PGO=1 ac_add_options MOZ_PGO=1 fi -# Build for linux-x86_64 -# Dont' declare, let's build with default target -# ac_add_options --target=x86_64-pc-linux +ac_add_options --target=x86_64-pc-linux diff --git a/configs/macos/mozconfig b/configs/macos/mozconfig index 34e3b76ff..65ab600b8 100644 --- a/configs/macos/mozconfig +++ b/configs/macos/mozconfig @@ -1,4 +1,6 @@ +# 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 --enable-install-strip diff --git a/configs/windows/mozconfig b/configs/windows/mozconfig index 83d15509a..0ff811aa2 100644 --- a/configs/windows/mozconfig +++ b/configs/windows/mozconfig @@ -27,11 +27,7 @@ fi #? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793 #? https://phabricator.services.mozilla.com/D170170 -if test "$SURFER_COMPAT" = "true"; then - ac_add_options --target=i686-pc-windows-msvc -else - ac_add_options --target=x86_64-pc-windows-msvc -fi +ac_add_options --target=x86_64-pc-windows-msvc ac_add_options --disable-maintenance-service ac_add_options --disable-bits-download diff --git a/package.json b/package.json index f382704ce..2ce417a9b 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,6 @@ }, "homepage": "https://github.com/zen-browser/core#readme", "dependencies": { - "@zen-browser/surfer": "^1.2.2" + "@zen-browser/surfer": "^1.2.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 49692820f..fa5555059 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@zen-browser/surfer': - specifier: ^1.2.2 - version: 1.2.2 + specifier: ^1.2.4 + version: 1.2.4 packages: @@ -109,8 +109,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@zen-browser/surfer@1.2.2': - resolution: {integrity: sha512-/NpAu0tOSKMvHlCFn7/x7Vmr4Lv3BQo7TMDzM0rzpcNYpOS6WQ6mqFRLq/zEA3i6lyHVPAphrsIoU9hVIT5ZqQ==} + '@zen-browser/surfer@1.2.4': + resolution: {integrity: sha512-cW4oBSOm46O5gxfEBt8laEM//dU+0c4XpK9YseeiIJLGWUAR5LIBINZq0N2ppTvvOpgZCwyfksNODHPkPnm5AA==} hasBin: true ansi-regex@5.0.1: @@ -786,7 +786,7 @@ snapshots: '@types/node@17.0.45': {} - '@zen-browser/surfer@1.2.2': + '@zen-browser/surfer@1.2.4': dependencies: '@resvg/resvg-js': 1.4.0 async-icns: 1.0.2 diff --git a/surfer.json b/surfer.json index 75673bec3..204bc1191 100644 --- a/surfer.json +++ b/surfer.json @@ -32,13 +32,13 @@ "repo": "zen-browser/desktop" }, "archives": { - "windows-x64": "windows-x64.mar", - "macos-x64": "macos-x64.mar", - "linux-x64": "linux-x64.mar", + "windows": "windows.mar", + "macos-aarch64": "macos.mar", + "linux": "linux.mar", - "windows-x32": "windows-x32.mar", - "linux-x32": "linux-x32.mar", - "macos-aarch64": "macos-aarch64.mar" + "macos-x64": "macos-intel.mar", + "windows-compat": "windows-generic.mar", + "linux-compat": "linux-generic.mar" } } }