Refactor macOS build workflows to unify artifact naming and update dependencies

This commit is contained in:
mr. M
2025-01-26 19:54:03 +01:00
parent d9939ea9be
commit d3f14bd9c3
5 changed files with 49 additions and 63 deletions

View File

@@ -560,12 +560,11 @@ jobs:
linux-aarch64.mar
windows.mar
windows-arm64.mar
macos-x86_64.mar
macos.mar
macos-aarch64.mar
zen.installer.exe
zen.installer-arm64.exe
zen.macos-x86_64.dmg
zen.macos-aarch64.dmg
zen.macos-universal.dmg
automatic_release_tag: 'twilight'
title: 'Twilight build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }} at ${{ needs.build-data.outputs.build_time }})'
draft: false

View File

@@ -138,26 +138,16 @@ jobs:
- name: Rename artifacts
run: |
mv ./dist/output.mar macos-${{ matrix.arch }}.mar
cd engine
echo "Tarballing dist..."
tar -czf zen-${{ matrix.arch }}-apple-darwin-dist.tar.gz ./obj-${{ matrix.arch }}-apple-darwin/dist/
echo "Tarballing dist done"
mv zen-${{ matrix.arch }}-apple-darwin-dist.tar.gz ../
echo "Tarballing DMG"
mv ./dist/zen-*.dmg ./zen-${{ matrix.arch }}-apple-darwin-dist.dmg
- name: Upload dist dmg
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: zen-${{ matrix.arch }}-apple-darwin-dist.tar.gz
path: ./zen-${{ matrix.arch }}-apple-darwin-dist.tar.gz
- 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: zen-${{ matrix.arch }}-apple-darwin-dist.dmg
path: ./zen-${{ matrix.arch }}-apple-darwin-dist.dmg
- name: Upload build artifact (update manifests)
uses: actions/upload-artifact@v4

View File

@@ -95,27 +95,37 @@ jobs:
./mach --no-interactive bootstrap --application-choice browser --no-system-changes
cd ..
- name: Download x86_64 dist from artifacts
- name: Download x86_64 DMG from artifacts
uses: actions/download-artifact@v4
with:
name: zen-x86_64-apple-darwin-dist.tar.gz
name: zen-x86_64-apple-darwin-dist.dmg
- name: Download aarch64 dist from artifacts
- name: Download aarch64 DMG from artifacts
uses: actions/download-artifact@v4
with:
name: zen-aarch64-apple-darwin-dist.tar.gz
name: zen-aarch64-apple-darwin-dist.dmg
- name: Extract
- name: Remove any existing .app folders
run: |
brew install gnu-tar
export PATH=/usr/local/opt/gnu-tar/libexec/gnubin:$PATH
mv ./zen-x86_64-apple-darwin-dist.tar.gz ./engine/
mv ./zen-aarch64-apple-darwin-dist.tar.gz ./engine/
set -x
cd engine
tar -xf ./zen-x86_64-apple-darwin-dist.tar.gz
tar -xf ./zen-aarch64-apple-darwin-dist.tar.gz
rm -rf "./obj-x86_64-apple-darwin/" || true
rm -rf "./obj-aarch64-apple-darwin/" || true
- name: Extract .app from dmg
run: |
set -ex
cd engine
echo "Extracting x86_64 .app from dmg"
mkdir -p ./obj-x86_64-apple-darwin/dist
mkdir -p ./obj-aarch64-apple-darwin/dist
./mach python -m mozbuild.action.unpack_dmg \
../zen-x86_64-apple-darwin-dist.dmg \
./obj-x86_64-apple-darwin/dist
echo "Extracting aarch64 .app from dmg"
./mach python -m mozbuild.action.unpack_dmg \
../zen-aarch64-apple-darwin-dist.dmg \
./obj-aarch64-apple-darwin/dist
- name: Find first .app folder name
run: |
@@ -124,26 +134,6 @@ jobs:
echo "APP_NAME=$APP_NAME" >> $GITHUB_ENV
echo "APP_NAME=$APP_NAME"
- name: Remove any existing .app folders
run: |
set -x
cd engine
rm -rf "./obj-x86_64-apple-darwin/dist/zen/${{ env.APP_NAME }}.app"
rm -rf "./obj-aarch64-apple-darwin/dist/zen/${{ env.APP_NAME }}.app"
- name: Extract .app from dmg
run: |
set -ex
cd engine
echo "Extracting x86_64 .app from dmg"
./mach python -m mozbuild.action.unpack_dmg \
./obj-x86_64-apple-darwin/dist/zen*.dmg \
./obj-x86_64-apple-darwin/dist
echo "Extracting aarch64 .app from dmg"
./mach python -m mozbuild.action.unpack_dmg \
./obj-aarch64-apple-darwin/dist/zen*.dmg \
./obj-aarch64-apple-darwin/dist
- name: List .app folders
run: |
ls engine/
@@ -181,8 +171,6 @@ jobs:
- name: Unify architectures
run: |
cd engine
ls -la "./obj-x86_64-apple-darwin/dist/${{ env.APP_NAME }}.app/Contents"
ls -la "./obj-x86_64-apple-darwin/dist/${{ env.APP_NAME }}.app/Contents/MacOS"
./mach python "./toolkit/mozapps/installer/unify.py" "./obj-x86_64-apple-darwin/dist/${{ env.APP_NAME }}.app" "./obj-aarch64-apple-darwin/dist/${{ env.APP_NAME }}.app"
echo "Merged aaarch64 into x86_64!"
@@ -209,7 +197,7 @@ jobs:
--background ./browser/branding/${{ inputs.release-branch }}/background.png \
--icon ./browser/branding/${{ inputs.release-branch }}/firefox.icns \
--dsstore ./browser/branding/${{ inputs.release-branch }}/dsstore \
./obj-x86_64-apple-darwin/dist/zen zen-macOS-universal-temp.dmg
./obj-x86_64-apple-darwin/dist/zen ../zen-macOS-universal-temp.dmg
- name: Sign .dmg
run: |
@@ -224,19 +212,28 @@ jobs:
--wait
xcrun stapler staple "zen.macos-universal.dmg"
- name: Package for mar
env:
JUST_MAR: true
run: |
export SURFER_PLATFORM="darwin"
export ZEN_RELEASE=1
pnpm package
mv ./dist/output.mar ./macos.mar
- 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: zen.macos-universal.dmg
path: ./zen.macos-universal.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: macos.mar
path: ./macos.mar
- name: Upload build artifact (update manifests)
uses: actions/upload-artifact@v4

View File

@@ -39,7 +39,7 @@
},
"homepage": "https://github.com/zen-browser/core#readme",
"dependencies": {
"@zen-browser/surfer": "^1.9.10"
"@zen-browser/surfer": "^1.9.12"
},
"devDependencies": {
"husky": "^9.1.7",

10
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@zen-browser/surfer':
specifier: ^1.9.10
version: 1.9.10(glob@7.2.3)
specifier: ^1.9.12
version: 1.9.12(glob@7.2.3)
devDependencies:
husky:
specifier: ^9.1.7
@@ -122,8 +122,8 @@ packages:
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
'@zen-browser/surfer@1.9.10':
resolution: {integrity: sha512-0M95qvc1IPKed/4F4mCH5k+dadfRkaCpJJtyNHgMGEjlimueQ05M0fzJz9oS0KBR/k74tLB0H6MqWhx5h93BBg==}
'@zen-browser/surfer@1.9.12':
resolution: {integrity: sha512-58BWcC+xix9LKd9A2HNLOMD98yTKlH9ZftudxZDYDBkbMxOrqvCSr2d8QBX30n8Y3PZ3E8iSZtwti4+uV81XQw==}
hasBin: true
ansi-escapes@7.0.0:
@@ -1036,7 +1036,7 @@ snapshots:
'@types/node@17.0.45': {}
'@zen-browser/surfer@1.9.10(glob@7.2.3)':
'@zen-browser/surfer@1.9.12(glob@7.2.3)':
dependencies:
'@resvg/resvg-js': 1.4.0
async-icns: 1.0.2