Merge branch 'dev' into patch-1

Signed-off-by: K1ngfish3r <trulyihu@gmail.com>
This commit is contained in:
K1ngfish3r
2024-12-23 20:48:09 +05:00
committed by GitHub
179 changed files with 3022 additions and 1186 deletions

View File

@@ -16,10 +16,10 @@ on:
update_branch:
description: 'Update branch with new version'
required: true
default: 'alpha'
default: 'beta'
type: 'choice'
options:
- 'alpha'
- 'beta'
- 'twilight'
workflow_call:
inputs:
@@ -36,7 +36,7 @@ on:
update_branch:
description: 'Update branch with new version'
required: true
default: 'alpha'
default: 'beta'
type: 'string'
jobs:
@@ -72,7 +72,7 @@ jobs:
git status
git branch --show-current
branch="${{ inputs.update_branch }}"
if [[ $branch == "alpha" ]]; then
if [[ $branch == "beta" ]]; then
branch="stable"
elif [[ $branch == "twilight" ]]; then
branch="dev"
@@ -104,7 +104,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup pnpm
run: npm install -g pnpm
@@ -124,7 +124,7 @@ jobs:
npm i -g @zen-browser/surfer
- name: Bump version
if: ${{ inputs.update_version && inputs.update_branch == 'alpha' }}
if: ${{ inputs.update_version && inputs.update_branch == 'beta' }}
run: |
pnpm surfer ci --brand ${{ inputs.update_branch }} --bump prerelease
@@ -159,7 +159,7 @@ jobs:
runs-on: ubuntu-latest
needs: [build-data]
steps:
- name: Checkout repository
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
@@ -168,7 +168,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup pnpm
run: npm install -g pnpm
@@ -220,7 +220,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup Git
run: |
@@ -258,6 +258,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
retention-days: 5
name: zen.source.tar.zst
path: ./zen.source.tar.zst
@@ -321,13 +322,13 @@ jobs:
release-branch: ${{ inputs.update_branch }}
appimage:
name: AppImage build - Linux ${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}
name: AppImage build - Linux ${{ matrix.arch }}
permissions:
contents: write
runs-on: ubuntu-latest
strategy:
matrix:
arch: [x86_64, x86_64-v3, aarch64]
arch: [x86_64, aarch64]
needs: [linux]
steps:
- name: Checkout repository
@@ -339,7 +340,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Install dependencies
run: |
@@ -350,7 +351,7 @@ jobs:
- name: Download Linux build
uses: actions/download-artifact@v4
with:
name: zen.linux-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}.tar.bz2
name: zen.linux-${{ matrix.arch }}.tar.bz2
- name: Execute AppImage build
run: |
@@ -361,7 +362,7 @@ jobs:
if [ "${{ inputs.update_branch }}" = "twilight" ]; then
sed -i -e 's/Name=Zen Browser/Name=Zen Twilight/g' AppDir/zen.desktop
sed -i -e 's/StartupWMClass=zen-alpha/StartupWMClass=zen-twilight/g' AppDir/zen.desktop
sed -i -e 's/StartupWMClass=zen-beta/StartupWMClass=zen-twilight/g' AppDir/zen.desktop
fi
APPDIR=AppDir
@@ -374,23 +375,25 @@ jobs:
ls -al
find .
ls -al "$APPDIR"
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
ARCH=${{ matrix.arch }} ./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 }}.AppImage.zsync" \
"$APPDIR" zen-${{ matrix.arch }}.AppImage
mkdir dist
mv zen*AppImage* dist/.
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
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
retention-days: 5
name: zen-${{ matrix.arch }}.AppImage
path: ./dist/zen-${{ matrix.arch }}.AppImage
- name: Upload artifact (ZSync)
uses: actions/upload-artifact@v4
with:
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
retention-days: 5
name: zen-${{ matrix.arch }}.AppImage.zsync
path: ./dist/zen-${{ matrix.arch }}.AppImage.zsync
release:
if: ${{ inputs.create_release || inputs.update_branch == 'twilight' }}
@@ -399,7 +402,7 @@ jobs:
needs: [build-data, linux, windows-step-3, check-release, mac, appimage, source]
runs-on: ubuntu-latest
environment:
name: ${{ inputs.update_branch == 'alpha' && 'Deploy-Release' || 'Deploy-Twilight' }}
name: ${{ inputs.update_branch == 'beta' && 'Deploy-Release' || 'Deploy-Twilight' }}
steps:
- name: Checkout repository
@@ -435,17 +438,14 @@ jobs:
run: |
cd updates-server
mkdir -p updates
cp -a ../linux_update_manifest_generic/. updates/
cp -a ../linux_update_manifest_specific/. updates/
cp -a ../linux_update_manifest_x86_64/. updates/
cp -a ../linux_update_manifest_aarch64/. updates/
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/
if [[ $RELEASE_BRANCH == 'beta' ]]; then
cp -a ../.github/workflows/object/windows-x64-signed-x86_64/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_x86_64/. updates/
cp -a ../windows_update_manifest_arm64/. updates/
fi
@@ -467,28 +467,21 @@ jobs:
with:
files: |
zen.source.tar.zst
zen.linux-generic.tar.bz2
zen.linux-specific.tar.bz2
zen.linux-x86_64.tar.bz2
zen.linux-aarch64.tar.bz2
zen-generic.AppImage
zen-generic.AppImage.zsync
zen-specific.AppImage
zen-specific.AppImage.zsync
zen-x86_64.AppImage
zen-x86_64.AppImage.zsync
zen-aarch64.AppImage
zen-aarch64.AppImage.zsync
zen.win-generic.zip
zen.win-specific.zip
zen.win-x86_64.zip
zen.win-arm64.zip
linux.mar
linux-generic.mar
linux-aarch64.mar
windows-generic.mar
windows.mar
windows-arm64.mar
macos-x86_64.mar
macos-aarch64.mar
zen.installer.exe
zen.installer-generic.exe
zen.installer-arm64.exe
zen.macos-x86_64.dmg
zen.macos-aarch64.dmg
@@ -502,42 +495,35 @@ jobs:
- name: Release
uses: marvinpinto/action-automatic-releases@master
if: ${{ inputs.update_branch == 'alpha' }}
if: ${{ inputs.update_branch == 'beta' }}
with:
repo_token: '${{ secrets.DEPLOY_KEY }}'
automatic_release_tag: ${{ needs.build-data.outputs.version }}
prerelease: false
title: 'Alpha build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }})'
title: 'Beta build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }})'
files: |
zen.source.tar.zst
zen.linux-generic.tar.bz2
zen.linux-specific.tar.bz2
zen.linux-x86_64.tar.bz2
zen.linux-aarch64.tar.bz2
zen-generic.AppImage
zen-generic.AppImage.zsync
zen-specific.AppImage
zen-specific.AppImage.zsync
zen-x86_64.AppImage
zen-x86_64.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-x86_64/zen.win-x86_64.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-x86_64/windows.mar
.github/workflows/object/windows-x64-signed-arm64/windows-arm64.mar
macos-x86_64.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-x86_64/zen.installer.exe
.github/workflows/object/windows-x64-signed-arm64/zen.installer-arm64.exe
zen.macos-x86_64.dmg
zen.macos-aarch64.dmg
prepare-flatpak:
if: ${{ inputs.create_release && inputs.update_branch == 'alpha' }}
if: ${{ inputs.create_release && inputs.update_branch == 'beta' }}
permissions: write-all
name: Prepare Flatpak
needs: [release, linux, build-data]
@@ -592,11 +578,11 @@ jobs:
commit_user_email: zen-browser-auto@users.noreply.github.com
repository: ./flatpak
- name: Wait 4 minutes for the Flatpak repo to update
run: sleep 240
- name: Wait 2 minutes for the Flatpak repo to update
run: sleep 120
release-flatpak:
if: ${{ inputs.create_release && inputs.update_branch == 'alpha' }}
if: ${{ inputs.create_release && inputs.update_branch == 'beta' }}
permissions: write-all
name: Release Flatpak
needs: [prepare-flatpak, build-data]
@@ -609,10 +595,10 @@ jobs:
repository: flathub/io.github.zen_browser.zen
token: ${{ secrets.DEPLOY_KEY }}
- name: Download Linux generic build
- name: Download Linux x86_64 build
uses: actions/download-artifact@v4
with:
name: zen.linux-generic.tar.bz2
name: zen.linux-x86_64.tar.bz2
- name: Update repository
uses: actions/checkout@v4
@@ -634,7 +620,7 @@ jobs:
python3 ./zen-browser/scripts/prepare-flatpak-release.py \
--flatpak-archive archive.tar \
--version ${{ needs.build-data.outputs.version }} \
--linux-archive zen.linux-generic.tar.bz2 \
--linux-archive zen.linux-x86_64.tar.bz2 \
--output io.github.zen_browser.zen.yml \
--template-root ./zen-browser/flatpak
@@ -647,11 +633,12 @@ jobs:
run: |
rm -rf zen-browser
rm -rf archive.tar
rm -rf zen.linux-generic.tar.bz2
rm -rf zen.linux-x86_64.tar.bz2
- name: Upload Flatpak manifest
uses: actions/upload-artifact@v4
with:
retention-days: 5
name: io.github.zen_browser.zen.yml
path: ./io.github.zen_browser.zen.yml
@@ -672,53 +659,3 @@ jobs:
base: master
git-token: ${{ secrets.DEPLOY_KEY }}
delete-branch: true
release-homebrew-alpha:
if: ${{ inputs.create_release && inputs.update_branch == 'alpha' }}
permissions: write-all
name: Homebrew release for alpha build
needs: [release, mac, build-data]
runs-on: macos-latest
steps:
- name: Setup Homebrew
uses: Homebrew/actions/setup-homebrew@master
with:
cask: true
test-bot: false
- name: Setup Git
uses: Homebrew/actions/git-user-config@master
with:
username: zen-browser-auto
- name: Bump cask
uses: Homebrew/actions/bump-packages@master
with:
token: ${{ secrets.DEPLOY_KEY }}
casks: zen-browser
release-homebrew-twilight:
if: ${{ inputs.create_release && inputs.update_branch == 'twilight' }}
permissions: write-all
name: Homebrew release for twilight build
needs: [release, mac, build-data]
runs-on: macos-latest
steps:
- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@master
with:
cask: true
test-bot: false
- name: Setup git
uses: Homebrew/actions/git-user-config@master
with:
username: zen-browser-auto
- name: Bump cask
uses: Homebrew/actions/bump-packages@master
with:
token: ${{ secrets.DEPLOY_KEY }}
casks: zen-browser@twilight

65
.github/workflows/issue-metrics.yml vendored Normal file
View File

@@ -0,0 +1,65 @@
name: Monthly issue metrics
on:
workflow_dispatch:
schedule:
- cron: '3 2 1 * *'
jobs:
build:
name: issue metrics
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
token: ${{ secrets.DEPLOY_KEY }}
- name: Get dates for last month
shell: bash
run: |
# Get the current date
current_date=$(date +'%Y-%m-%d')
# Calculate the previous month
previous_date=$(date -d "$current_date -1 month" +'%Y-%m-%d')
# Extract the year and month from the previous date
previous_year=$(date -d "$previous_date" +'%Y')
previous_month=$(date -d "$previous_date" +'%m')
# Calculate the first day of the previous month
first_day=$(date -d "$previous_year-$previous_month-01" +'%Y-%m-%d')
# Calculate the last day of the previous month
last_day=$(date -d "$first_day +1 month -1 day" +'%Y-%m-%d')
echo "$first_day..$last_day"
echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV"
echo "last_month_year=$previous_year" >> "$GITHUB_ENV"
- name: Run issue-metrics tool
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.DEPLOY_KEY }}
HIDE_AUTHOR: true
HIDE_TIME_TO_ANSWER: true
SEARCH_QUERY: 'repo:zen-browser/desktop is:issue created:${{ env.last_month }} -reason:"not planned"'
- name: Move metrics to docs folder
run: |
mkdir -p docs/issue-metrics
rm -f docs/issue-metrics/${{ env.last_month_year }}_${{ env.last_month }}.md
mv issue_metrics.md docs/issue-metrics/${{ env.last_month_year }}_${{ env.last_month }}.md
- name: Remove metrisc JSON
run: |
rm -f issue_metrics.json
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: 'Update monthly issue metrics'
commit_user_name: Zen Browser Robot
commit_user_email: zen-browser-auto@users.noreply.github.com

View File

@@ -20,8 +20,8 @@ jobs:
strategy:
fail-fast: false
matrix:
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' }}
arch: [x86_64, aarch64]
name: Build Linux - ${{ matrix.arch }}
steps:
- name: Free Disk Space (Ubuntu)
@@ -38,7 +38,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup Git
run: |
@@ -147,23 +147,26 @@ jobs:
- name: Rename artifacts
run: |
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
mv dist/zen-*.tar.bz2 "zen.linux-${{ matrix.arch }}.tar.bz2"
mv dist/output.mar linux${{ matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
- name: Upload build artifact (binary)
uses: actions/upload-artifact@v4
with:
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
retention-days: 5
name: zen.linux-${{ matrix.arch }}.tar.bz2
path: ./zen.linux-${{ matrix.arch }}.tar.bz2
- name: Upload build artifact (.mar)
uses: actions/upload-artifact@v4
with:
name: linux${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
path: ./linux${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
retention-days: 5
name: linux${{ matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
path: ./linux${{ matrix.arch == 'aarch64' && '-aarch64' || '' }}.mar
- name: Upload build artifact (update manifests)
uses: actions/upload-artifact@v4
with:
name: linux_update_manifest_${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'aarch64' }}
retention-days: 5
name: linux_update_manifest_${{ matrix.arch }}
path: ./dist/update

View File

@@ -16,7 +16,7 @@ jobs:
mac-build:
name: Build macOS - ${{ matrix.arch }}
runs-on: macos-14
strategy:
fail-fast: false
matrix:
@@ -32,12 +32,11 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
# note: This will use the version defined in '.python-version' by default
- name: Setup Git
run: |
@@ -55,17 +54,17 @@ jobs:
export PATH="$(python3 -m site --user-base)/bin":$PATH
python3 -m pip install --user mercurial
rm '/usr/local/bin/2to3-3.11' '/usr/local/bin/2to3-3.12' '/usr/local/bin/2to3'
rm '/usr/local/bin/idle3.11' '/usr/local/bin/idle3.12' '/usr/local/bin/idle3'
rm '/usr/local/bin/pydoc3.11' '/usr/local/bin/pydoc3.12' '/usr/local/bin/pydoc3'
rm '/usr/local/bin/python3.11' '/usr/local/bin/python3.12' '/usr/local/bin/python3'
rm '/usr/local/bin/2to3-3.11' '/usr/local/bin/2to3-3.12' '/usr/local/bin/2to3'
rm '/usr/local/bin/idle3.11' '/usr/local/bin/idle3.12' '/usr/local/bin/idle3'
rm '/usr/local/bin/pydoc3.11' '/usr/local/bin/pydoc3.12' '/usr/local/bin/pydoc3'
rm '/usr/local/bin/python3.11' '/usr/local/bin/python3.12' '/usr/local/bin/python3'
rm '/usr/local/bin/python3.11-config' '/usr/local/bin/python3.12-config' '/usr/local/bin/python3-config'
brew install watchman
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-apple-darwin
else
@@ -160,20 +159,37 @@ jobs:
--wait
xcrun stapler staple "zen.macos-${{ matrix.arch }}.dmg"
- name: Sign .dmg again if failed
if: failure()
run: |
set -ex
hdiutil convert ./dist/*.dmg -format UDZO -imagekey zlib-level=9 -o zen.macos-${{ matrix.arch }}.dmg
xattr -cr zen.macos-${{ matrix.arch }}.dmg
codesign -s "${{ secrets.macOS_AppleDeveloperId }}" zen.macos-${{ matrix.arch }}.dmg
xcrun notarytool submit "zen.macos-${{ matrix.arch }}.dmg" \
--apple-id "${{ secrets.macOS_AppleAccountId }}" \
--team-id "${{ secrets.macOS_AppleDeveloperIdTeamId }}" \
--password "${{ secrets.macOS_AppleDeveloperIdPassword }}" \
--wait
xcrun stapler staple "zen.macos-${{ matrix.arch }}.dmg"
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
retention-days: 5
name: zen.macos-${{ matrix.arch }}.dmg
path: ./zen.macos-${{ matrix.arch }}.dmg
- name: Upload build artifact (.mar)
uses: actions/upload-artifact@v4
with:
retention-days: 5
name: macos-${{ matrix.arch }}.mar
path: ./macos-${{ matrix.arch }}.mar
- name: Upload build artifact (update manifests)
uses: actions/upload-artifact@v4
with:
retention-days: 5
name: macos_update_manifest_${{ matrix.arch }}
path: ./dist/update

View File

@@ -17,7 +17,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup pnpm
run: npm install -g pnpm

View File

@@ -27,6 +27,6 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
# TODO:

View File

@@ -19,13 +19,11 @@ on:
jobs:
windows-profile-build:
name: |
Windows Profile Build - ${{ matrix.arch == 'x86_64' && 'generic' ||
matrix.arch == 'x86_64-v3' && 'specific' ||
matrix.arch == 'aarch64' && 'arm64' }}
Windows Profile Build - ${{ matrix.arch }}
strategy:
fail-fast: false
matrix:
arch: [x86_64, x86_64-v3, aarch64]
arch: [x86_64, aarch64]
runs-on: windows-latest
@@ -36,12 +34,12 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup Git
run: |
git config --global user.email "mauro-balades@users.noreply.github.com"
git config --global user.name "mauro-balades"
git config --global user.email "mr-cheff@users.noreply.github.com"
git config --global user.name "mr-cheff"
- name: Setup pnpm
run: npm install -g pnpm
@@ -53,9 +51,7 @@ jobs:
uses: actions/download-artifact@v4
with:
path: C:\artifact
name: ${{ matrix.arch == 'x86_64' && 'generic' ||
matrix.arch == 'x86_64-v3' && 'specific' ||
matrix.arch == 'aarch64' && 'generic' }}-zen-windows-profile-data-and-jarlog.zip
name: ${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}-zen-windows-profile-data-and-jarlog.zip
- name: Unpack artifact
run: |
@@ -70,16 +66,19 @@ jobs:
C:\MozillaBuildSetup-Latest.exe /S | out-null
- name: Download Firefox and dependencies
if: ${{ matrix.arch == 'x86_64' }}
run: |
git config --global core.safecrlf false
pnpm surfer download
- name: Import patches
if: ${{ matrix.arch == 'x86_64' }}
env:
SURFER_NO_BRANDING_PATCH: true
run: pnpm surfer import
- name: Generate
if: ${{ matrix.arch == 'x86_64' }}
run: |
ls
$Env:USE_MINTTY = "0"
@@ -99,6 +98,7 @@ jobs:
timeout-minutes: 15
- name: Move profile data
if: ${{ matrix.arch == 'x86_64' }}
run: |
dir
dir engine
@@ -106,11 +106,11 @@ jobs:
mv engine/en-US.log en-US.log
- name: Upload artifacts
if: ${{ matrix.arch == 'x86_64' }}
uses: actions/upload-artifact@v4
with:
retention-days: 1
path: |
merged.profdata
en-US.log
name: windows-profdata-${{ matrix.arch == 'x86_64' && 'generic' ||
matrix.arch == 'x86_64-v3' && 'specific' ||
matrix.arch == 'aarch64' && 'arm64' }}
name: windows-profdata-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}

View File

@@ -21,13 +21,13 @@ on:
jobs:
windows-build:
name: Build Windows - ${{ matrix.arch == 'x86_64' && 'Generic' || matrix.arch == 'x86_64-v3' && 'Specific' || matrix.arch == 'aarch64' && 'ARM64' }}
name: Build Windows - ${{ matrix.arch }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [x86_64, x86_64-v3, aarch64]
arch: [x86_64, aarch64]
steps:
- name: Free Disk Space (Ubuntu)
@@ -44,7 +44,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Setup pnpm
run: npm install -g pnpm
@@ -138,13 +138,13 @@ jobs:
- name: Download artifact (if use profdata)
uses: actions/download-artifact@v4
if: ${{ !inputs.generate-gpo }}
if: ${{ !inputs.generate-gpo && matrix.arch == 'x86_64' }}
with:
path: ~/artifact
name: windows-profdata-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
name: windows-profdata-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}
- name: Show artifact info
if: ${{ !inputs.generate-gpo }}
if: ${{ !inputs.generate-gpo && matrix.arch == 'x86_64' }}
run: |
ls ~/artifact
ls ~/artifact/en-US.log
@@ -153,6 +153,7 @@ jobs:
chmod +x ~/artifact/merged.profdata
- name: Build
if: ${{ !(inputs.generate-gpo && matrix.arch == 'aarch64') }}
env:
SURFER_COMPAT: ${{ matrix.arch }}
run: |
@@ -166,6 +167,7 @@ jobs:
sh .github/workflows/src/release-build.sh
- name: Package
if: ${{ !(inputs.generate-gpo && matrix.arch == 'aarch64') }}
env:
SURFER_COMPAT: ${{ matrix.arch }}
run: |
@@ -182,7 +184,7 @@ jobs:
timeout-minutes: 15
- name: Move package for PGO upload
if: ${{ inputs.generate-gpo }}
if: ${{ inputs.generate-gpo && matrix.arch == 'x86_64' }}
run: |
set -x
mv ./zen.win64.zip ./zen.win64-pgo-stage-1.zip
@@ -190,15 +192,16 @@ jobs:
- name: Rename artifacts
if: ${{ !inputs.generate-gpo }}
run: |
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
mv ./zen.win64.zip zen.win-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}.zip
mv ./dist/output.mar windows${{ matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
mv ./dist/zen.installer.exe ./zen.installer${{ matrix.arch == 'aarch64' && '-arm64' || '' }}.exe
- name: Upload artifact (PGO)
uses: actions/upload-artifact@v4
if: ${{ inputs.generate-gpo }}
if: ${{ inputs.generate-gpo && matrix.arch == 'x86_64' }}
with:
name: ${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}-${{ inputs.profile-data-path-archive }}
retention-days: 5
name: ${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}-${{ inputs.profile-data-path-archive }}
path: ./zen.win64-pgo-stage-1.zip
- name: Remove unnecessary files from obj
@@ -217,33 +220,38 @@ jobs:
if: ${{ !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
name: windows-x64-obj-${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
retention-days: 5
name: windows-x64-obj-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}
path: engine/obj-${{ matrix.arch == 'aarch64' && 'aarch64' || 'x86_64' }}-pc-windows-msvc/
- name: Upload artifact (if Twilight branch, binary)
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
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
retention-days: 5
name: zen.win-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}.zip
path: ./zen.win-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}.zip
- name: Upload artifact (if Twilight branch, installer)
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
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
retention-days: 5
name: zen.installer${{ matrix.arch == 'aarch64' && '-arm64' || '' }}.exe
path: ./zen.installer${{ matrix.arch == 'aarch64' && '-arm64' || '' }}.exe
- name: Upload artifact (if Twilight branch, .mar)
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
name: windows${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
path: ./windows${{ matrix.arch == 'x86_64' && '-generic' || matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
retention-days: 5
name: windows${{ matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
path: ./windows${{ matrix.arch == 'aarch64' && '-arm64' || '' }}.mar
- name: Upload artifact (if Twilight branch, update manifests)
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
name: windows_update_manifest_${{ matrix.arch == 'x86_64' && 'generic' || matrix.arch == 'x86_64-v3' && 'specific' || matrix.arch == 'aarch64' && 'arm64' }}
retention-days: 5
name: windows_update_manifest_${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}
path: ./dist/update