Merge pull request #1827 from zen-browser/zen-twilight-test

Enable zen twilight branch!
This commit is contained in:
mauro 🤙
2024-09-30 22:52:41 +02:00
committed by GitHub
37 changed files with 146 additions and 37 deletions

View File

@@ -1,4 +1,4 @@
name: Zen Alpha builds
name: Zen Release builds
on:
workflow_dispatch:
@@ -13,6 +13,14 @@ on:
required: false
default: false
type: 'boolean'
update_branch:
description: 'Update branch with new version'
required: true
default: 'alpha'
type: 'choice'
options:
- 'alpha'
- 'twilight'
jobs:
build-data:
@@ -51,14 +59,14 @@ jobs:
npm i -g @zen-browser/surfer
- name: Bump version
if: ${{ github.event.inputs.update_version == 'true' }}
if: ${{ github.event.inputs.update_version == 'true' && github.event.inputs.update_branch == 'alpha' }}
run: |
pnpm surfer ci --brand alpha --bump prerelease
pnpm surfer ci --brand ${{ github.event.inputs.update_branch }} --bump prerelease
- name: Bump version without new version
if: ${{ github.event.inputs.update_version == 'false' }}
if: ${{ github.event.inputs.update_version == 'false' || github.event.inputs.update_branch == 'twilight' }}
run: |
pnpm surfer ci --brand alpha
pnpm surfer ci --brand ${{ github.event.inputs.update_branch }}
- name: Debug
run: |
@@ -113,7 +121,7 @@ jobs:
- name: Activate surfer CLI
run: |
echo "There's a bug in the surfer CLI, we run this so that surfer sets everything up correctly"
pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
pnpm surfer ci --brand ${{ github.event.inputs.update_branch }} --display-version ${{ needs.build-data.outputs.version }}
- name: Check version
run: |
@@ -162,7 +170,7 @@ jobs:
run: pnpm install
- name: Load surfer CI setup
run: pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
run: pnpm surfer ci --brand ${{ github.event.inputs.update_branch }} --display-version ${{ needs.build-data.outputs.version }}
- name: Download firefox source and dependancies
run: pnpm surfer download --verbose
@@ -185,7 +193,7 @@ jobs:
windows-step-1:
name: Windows build step 1 (PGO build)
uses: ./.github/workflows/windows-alpha-build.yml
uses: ./.github/workflows/windows-release-build.yml
needs: [build-data]
permissions:
contents: write
@@ -194,6 +202,7 @@ jobs:
build-version: ${{ needs.build-data.outputs.version }}
generate-gpo: true
profile-data-path-archive: zen-windows-x86_64-profile-data-and-jarlog.zip
release-branch: ${{ github.event.inputs.update_branch }}
windows-step-2:
name: Windows build step 2 (Generate profile data)
@@ -205,10 +214,11 @@ jobs:
with:
build-version: ${{ needs.build-data.outputs.version }}
profile-data-path-archive: zen.win64-pgo-stage-1.zip
release-branch: ${{ github.event.inputs.update_branch }}
windows-step-3:
name: Windows build step 3 (build with profile data)
uses: ./.github/workflows/windows-alpha-build.yml
uses: ./.github/workflows/windows-release-build.yml
permissions:
contents: write
secrets: inherit
@@ -216,26 +226,29 @@ jobs:
with:
build-version: ${{ needs.build-data.outputs.version }}
generate-gpo: false
release-branch: ${{ github.event.inputs.update_branch }}
linux:
name: Linux build
uses: ./.github/workflows/linux-alpha-build.yml
uses: ./.github/workflows/linux-release-build.yml
permissions:
contents: write
secrets: inherit
needs: [build-data]
with:
build-version: ${{ needs.build-data.outputs.version }}
release-branch: ${{ github.event.inputs.update_branch }}
mac:
name: macOS build
uses: ./.github/workflows/macos-alpha-build.yml
uses: ./.github/workflows/macos-release-build.yml
permissions:
contents: write
secrets: inherit
needs: [build-data]
with:
build-version: ${{ needs.build-data.outputs.version }}
release-branch: ${{ github.event.inputs.update_branch }}
appimage:
name: AppImage build - Linux ${{ matrix.generic == true && 'generic' || 'specific' }}
@@ -272,8 +285,8 @@ jobs:
run: |
set -eux
rm AppDir/.DirIcon || true
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
cp configs/branding/${{ github.event.inputs.update_branch }}/logo128.png AppDir/usr/share/icons/hicolor/128x128/apps/zen.png
cp configs/branding/${{ github.event.inputs.update_branch }}/logo128.png AppDir/zen.png && ln -s zen.png AppDir/.DirIcon
APPDIR=AppDir
tar -xvf *.tar.* && rm -rf *.tar.*
@@ -310,7 +323,7 @@ jobs:
needs: [build-data, linux, windows-step-3, check-release, mac, appimage, source]
runs-on: ubuntu-latest
environment:
name: Deploy-Release
name: ${{ github.event.inputs.update_branch == 'alpha' && 'Deploy-Release' || 'Deploy-Twilight' }}
steps:
- uses: actions/checkout@v4
@@ -335,14 +348,21 @@ jobs:
token: ${{ secrets.DEPLOY_KEY }}
- name: Copy update manifests
env:
RELEASE_BRANCH: ${{ github.event.inputs.update_branch }}
run: |
cd updates-server
mkdir -p updates
cp -a ../linux_update_manifest_generic/. updates/
cp -a ../linux_update_manifest_specific/. updates/
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 == '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/
else
cp -a ../windows_update_manifest_generic/. updates/
cp -a ../windows_update_manifest_specific/. updates/
fi
cp -a ../macos_update_manifest_aarch64/. updates/
cp -a ../macos_update_manifest_x64/. updates/
@@ -354,8 +374,48 @@ jobs:
commit_user_email: zen-browser-bot@users.noreply.github.com
repository: ./updates-server
# If we are on twilight, we want to just update the twilight tag's release
- name: Update twilight tag
if: ${{ github.event.inputs.update_branch == 'twilight' }}
uses: softprops/action-gh-release@v2
with:
files: |
zen.source.tar.gz
zen.linux-generic.tar.bz2
zen.linux-specific.tar.bz2
zen-generic.AppImage
zen-generic.AppImage.zsync
zen-specific.AppImage
zen-specific.AppImage.zsync
zen.win-generic.zip
zen.win-specific.zip
linux.mar
linux-generic.mar
windows-generic.mar
windows.mar
macos-x64.mar
macos-aarch64.mar
zen.installer.exe
zen.installer-generic.exe
zen.macos-x64.dmg
zen.macos-aarch64.dmg
tag_name: "twilight"
name: "Twilight build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }})"
body: |
# Zen Twilight Build
This is the latest build from the twilight branch. It is updated more recently than the alpha branch.
* This build is not recommended for daily use, it may contain bugs, issues, and other problems.
draft: false
prerelease: true
token: ${{ github.token }}
env:
GITHUB_REPOSITORY: ${{ github.repository }}
- name: release-github
uses: 'marvinpinto/action-automatic-releases@latest'
if: ${{ github.event.inputs.update_branch == 'alpha' }}
with:
repo_token: '${{ secrets.DEPLOY_KEY }}'
automatic_release_tag: ${{ needs.build-data.outputs.version }}
@@ -383,7 +443,7 @@ jobs:
zen.macos-aarch64.dmg
prepare-flatpak:
if: ${{ github.event.inputs.create_release == 'true' }}
if: ${{ github.event.inputs.create_release == 'true' && github.event.inputs.update_branch == 'alpha' }}
permissions: write-all
name: Prepare Flatpak
needs: [release, linux, build-data]
@@ -518,7 +578,7 @@ jobs:
delete-branch: true
release-homebrew:
if: ${{ github.event.inputs.create_release == 'true' }}
if: ${{ github.event.inputs.create_release == 'true' && github.event.inputs.update_branch == 'alpha' }}
permissions: write-all
name: Homebrew release
needs: [release, mac, build-data]

View File

@@ -1,4 +1,4 @@
name: Linux Alpha Build
name: Linux Release Build
on:
workflow_call:
inputs:
@@ -6,6 +6,10 @@ on:
description: 'The version to build'
required: true
type: string
release-branch:
description: 'The branch to build'
required: true
type: string
jobs:
build-linux:
@@ -87,7 +91,7 @@ jobs:
run: pnpm install
- name: Load surfer CI setup
run: pnpm surfer ci --brand alpha --display-version ${{ inputs.build-version }}
run: pnpm surfer ci --brand ${{ github.event.inputs.release-branch }} --display-version ${{ inputs.build-version }}
- name: Download firefox source and dependencies
run: pnpm surfer download
@@ -110,13 +114,13 @@ jobs:
env:
SURFER_COMPAT: ${{ matrix.generic == true }}
continue-on-error: true
run: sh .github/workflows/src/alpha-build.sh
run: 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/alpha-build.sh
run: sh .github/workflows/src/release-build.sh
- name: Package
env:

View File

@@ -1,4 +1,4 @@
name: macOS Alpha Build
name: macOS Release Build
on:
workflow_call:
inputs:
@@ -6,6 +6,11 @@ on:
description: 'The version to build'
required: true
type: string
release-branch:
description: 'The branch to build'
required: true
type: string
jobs:
mac-build:
name: Build macOS - ${{ matrix.arch }}
@@ -87,7 +92,7 @@ jobs:
- name: Install dependencies
run: pnpm install
- name: Load surfer CI setup
run: pnpm surfer ci --brand alpha --display-version ${{ inputs.build-version }}
run: pnpm surfer ci --brand ${{ github.event.inputs.release-branch }} --display-version ${{ inputs.build-version }}
- name: Download firefox source and dependancies
run: pnpm surfer download
@@ -115,11 +120,11 @@ jobs:
if test "${{ matrix.arch }}" = "x64"; then
export ZEN_DISABLE_LTO=1
fi
sh .github/workflows/src/alpha-build.sh
sh .github/workflows/src/release-build.sh
- name: Rebuild Zen if failed
if: failure()
run: sh .github/workflows/src/alpha-build.sh
run: sh .github/workflows/src/release-build.sh
- name: import APPLE DEVELOPER ID CERTIFICATE for .app
uses: apple-actions/import-codesign-certs@v3

View File

@@ -10,7 +10,11 @@ on:
description: 'The path to the zip archive containing the profile data'
required: false
type: string
release-branch:
description: 'The branch to build'
required: true
type: string
jobs:
windows-profile-build:
name: Windows Profile Build - ${{ matrix.generic == true && 'generic' || 'specific' }}

View File

@@ -1,4 +1,4 @@
name: Windows Alpha Build
name: Windows Release Build
on:
workflow_call:
inputs:
@@ -13,6 +13,10 @@ on:
profile-data-path-archive:
description: 'The path to the zip archive containing the profile data'
type: string
release-branch:
description: 'The branch to build'
required: true
type: string
jobs:
windows-build:
@@ -54,7 +58,7 @@ jobs:
pnpm i
- name: Load surfer CI setup
run: pnpm surfer ci --brand alpha --display-version ${{ inputs.build-version }}
run: pnpm surfer ci --brand ${{ github.event.inputs.release-branch }} --display-version ${{ inputs.build-version }}
- name: Download
run: pnpm surfer download
@@ -166,7 +170,7 @@ jobs:
if test ${{ inputs.generate-gpo }} = true; then
export ZEN_GA_GENERATE_PROFILE=1
fi
sh .github/workflows/src/alpha-build.sh
sh .github/workflows/src/release-build.sh
- name: Package
env:
@@ -216,4 +220,31 @@ jobs:
with:
name: windows-x64-obj-${{ matrix.generic == true && 'generic' || 'specific' }}
path: engine/obj-x86_64-pc-windows-msvc/
- name: Upload zip file if twilight branch
if: ${{ github.event.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: Upload installer if twilight branch
if: ${{ github.event.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: Upload mar if twilight branch
if: ${{ github.event.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: Upload update manifests if twilight branch
if: ${{ github.event.inputs.release-branch == 'twilight' && !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
name: windows_update_manifest_${{ matrix.generic == true && 'generic' || 'specific' }}
path: ./dist/update