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