GitLab CI: Initial macOS Arm build.

Add a "macOS Arm Package" job to .gitlab-ci.yml. Fixup a check in
osx-dmg.sh.
This commit is contained in:
Gerald Combs 2021-07-25 08:57:55 -07:00 committed by Wireshark GitLab Utility
parent c52c50b944
commit d2979e1976
2 changed files with 41 additions and 1 deletions

View File

@ -403,6 +403,45 @@ Win32 Package:
}
- ctest -C RelWithDebInfo --parallel 3 --force-new-ctest-process --output-on-failure
# To do:
# - Notarization
macOS Arm Package:
stage: build
# Production builds
rules: !reference [.if-w-w-only-merged]
# Testing builds
# rules: !reference [.if-w-w-only-merge-request]
tags:
- wireshark-macos-arm-package
retry: 1
before_script:
- mkdir build
- cd build
script:
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
# XXX - Move this to a separate DENABLE_PCAP=OFF job?
- arch -arch arm64 cmake -DENABLE_CCACHE=ON -DENABLE_PCAP=OFF -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 -DCMAKE_OSX_ARCHITECTURES=arm64 -G Ninja ..
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
- arch -arch arm64 ninja
- cd ..
- git clean -d --force --force -x
- perl tools/make-version.pl --set-release
- mkdir build
- cd build
- printf "\e[0Ksection_start:%s:cmake_section[collapsed=true]\r\e[0KRunning CMake" "$( date +%s)"
- arch -arch arm64 cmake -DENABLE_CCACHE=ON -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_OSX_SYSROOT=macosx11.3 -DCMAKE_OSX_ARCHITECTURES=arm64 -DTEST_EXTRA_ARGS=--enable-release -G Ninja ..
- printf "\e[0Ksection_end:%s:cmake_section\r\e[0K" "$( date +%s)"
- arch -arch arm64 ninja
# - package-prep
- arch -arch arm64 ninja dmg_package
# - notarize-build
- |
if [ -n "$AWS_ACCESS_KEY_ID" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ] && [ -n "$S3_DESTINATION_MACOS" ] ; then
aws s3 cp run/Wireshark-*.dmg "$S3_DESTINATION_MACOS/"
fi
- arch -arch arm64 ninja test-programs
- arch -arch arm64 ctest --parallel 4 --output-on-failure
# Build the User's Guide and Developer's Guide
Documentation:
extends: .build-linux

View File

@ -34,12 +34,13 @@ if [ ! -x "$dmgbuild" ] ; then
exit 1
fi
if lipo Wireshark.app/Contents/MacOS/Wireshark -verify_arch arm64e ; then
if lipo Wireshark.app/Contents/MacOS/Wireshark -verify_arch arm64 ; then
architecture="Arm 64"
elif lipo Wireshark.app/Contents/MacOS/Wireshark -verify_arch x86_64 ; then
architecture="Intel 64"
else
echo "Error: Wireshark.app missing or has unknown architecture."
lipo Wireshark.app/Contents/MacOS/Wireshark -detailed_info
exit 1
fi