Compare commits

...
Author SHA1 Message Date
gronod e194514264 Update .github/workflows/build-macos.yml 2026-09-01 12:09:14 +01:00
gronod 2261ebd331 Merge pull request 'Development' (#34) from development into main
Windows x86_64 Release Build / build (push) Failing after 1m10s
Linux x86_64 Release Build / build (push) Successful in 9m58s
Reviewed-on: #34
2026-09-01 11:22:12 +01:00
gronod de3065f4cc Merge pull request 'Update .github/workflows/build-macos.yml' (#33) from update-macos-act-runner into development
Reviewed-on: #33
2026-09-01 11:21:15 +01:00
gronod 9c3982354d Update .github/workflows/build-macos.yml
Update action runner for MacOS to macos-latest
2026-09-01 11:20:43 +01:00
gronod 86e692ecda ci(macos): add ad-hoc codesigning and signature verification to macOS workflow 2026-09-01 10:18:18 +01:00
gronod f30d16816f fix(package): apply ad-hoc code signatures to macOS Mach-O binaries in makepackagebin.sh 2026-09-01 10:18:10 +01:00
gronod cf93305fdd ci(macos): add ad-hoc codesigning and signature verification to macOS workflow
Windows x86_64 Release Build / build (push) Successful in 8m21s
Linux x86_64 Release Build / build (push) Successful in 49m44s
2026-09-01 10:17:34 +01:00
gronod 1eb72e865b fix(package): apply ad-hoc code signatures to macOS Mach-O binaries in makepackagebin.sh 2026-09-01 10:17:06 +01:00
2 changed files with 36 additions and 7 deletions
+24 -6
View File
@@ -11,11 +11,11 @@ jobs:
strategy:
matrix:
include:
- os: macos-15-intel
- os: macos-26-intel
arch: x86_64
machtype: x86_64-apple-darwin
artifact: macOS_x86_64_bin
- os: macos-15
- os: macos-latest
arch: arm64
machtype: arm64-apple-darwin
artifact: macOS_arm64_bin
@@ -43,6 +43,16 @@ jobs:
export CCOPTFLAG="-O0"
jam -q -d2 -fJambase -j1 -sBUILTIN_TIFF=true -sBUILTIN_JPEG=true -sBUILTIN_PNG=true -sBUILTIN_Z=true -sBUILTIN_SSL=true install
- name: Ad-hoc Sign & Verify Binaries
run: |
for f in bin/*; do
if [ -f "$f" ] && file "$f" | grep -q "Mach-O"; then
echo "Ad-hoc signing $f"
codesign -f -s - "$f"
codesign -dvv "$f"
fi
done
- name: Smoke Tests
env:
ARGYLL_NOT_INTERACTIVE: "1"
@@ -86,7 +96,7 @@ jobs:
universal:
needs: build
runs-on: macos-15
runs-on: macos-latest
permissions:
contents: write
@@ -116,6 +126,7 @@ jobs:
echo "Creating universal binary with lipo: $bin_name"
lipo -create "raw-bin-x86_64/$bin_name" "raw-bin-arm64/$bin_name" -output "bin/$bin_name"
chmod +x "bin/$bin_name"
codesign -f -s - "bin/$bin_name"
else
echo "Non Mach-O file, copying directly: $bin_name"
cp "$file" "bin/$bin_name"
@@ -123,6 +134,9 @@ jobs:
else
echo "Warning: $bin_name not found in raw-bin-x86_64, copying arm64 version"
cp "$file" "bin/$bin_name"
if file "bin/$bin_name" | grep -q "Mach-O"; then
codesign -f -s - "bin/$bin_name"
fi
fi
done
for file in raw-bin-x86_64/*; do
@@ -130,18 +144,22 @@ jobs:
if [ ! -f "bin/$bin_name" ]; then
echo "Warning: $bin_name only found in raw-bin-x86_64, copying x86_64 version"
cp "$file" "bin/$bin_name"
if file "bin/$bin_name" | grep -q "Mach-O"; then
codesign -f -s - "bin/$bin_name"
fi
fi
done
- name: Verify Architecture & Smoke Tests
- name: Verify Architecture & Code Signatures
env:
ARGYLL_NOT_INTERACTIVE: "1"
ARGYLL_EXCLUDE_SERIAL_SCAN: "1"
run: |
echo "=== Binary Architecture Verification ==="
echo "=== Binary Architecture & Signature Verification ==="
for file in bin/*; do
if [ -f "$file" ]; then
if [ -f "$file" ] && file "$file" | grep -q "Mach-O"; then
file "$file"
codesign -dvv "$file"
fi
done
echo "=== Smoke Tests ==="
+12 -1
View File
@@ -7,7 +7,7 @@ echo "Script to invoke Jam and then package the binary release."
PRODUCT=Argyll
# Set the environment string VERSION from the #define, ie 1.0.0
VERSION=`grep ARGYLL_VERSION_STR h/aconfig.h | head -1 | sed 's/# define ARGYLL_VERSION_STR //' | sed 's/"//g'`
VERSION=`grep ARGYLL_VERSION_STR h/aconfig.h | head -1 | sed 's/# define ARGYLL_VERSION_STR //' | sed 's/\"//g'`
# Typical environment variables:
# (NOTE some systems don't export these ENV vars. by default !!!)
@@ -173,6 +173,17 @@ if [ X$NO_BUILD = "X" ] ; then
fi
fi
# Apply ad-hoc code signatures to macOS Mach-O binaries before staging
if [ "${OSTYPE#*darwin*}" != "$OSTYPE" ] ; then
echo "=== Applying ad-hoc code signatures to macOS Mach-O binaries ==="
for f in bin/* ; do
if [ -f "$f" ] && file "$f" | grep -q "Mach-O" ; then
echo "Signing $f..."
codesign -f -s - "$f" || true
fi
done
fi
rm -rf $TOPDIR
mkdir $TOPDIR