Development #34
@@ -11,11 +11,11 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: macos-15-intel
|
- os: macos-latest
|
||||||
arch: x86_64
|
arch: x86_64
|
||||||
machtype: x86_64-apple-darwin
|
machtype: x86_64-apple-darwin
|
||||||
artifact: macOS_x86_64_bin
|
artifact: macOS_x86_64_bin
|
||||||
- os: macos-15
|
- os: macos-latest
|
||||||
arch: arm64
|
arch: arm64
|
||||||
machtype: arm64-apple-darwin
|
machtype: arm64-apple-darwin
|
||||||
artifact: macOS_arm64_bin
|
artifact: macOS_arm64_bin
|
||||||
@@ -43,6 +43,16 @@ jobs:
|
|||||||
export CCOPTFLAG="-O0"
|
export CCOPTFLAG="-O0"
|
||||||
jam -q -d2 -fJambase -j1 -sBUILTIN_TIFF=true -sBUILTIN_JPEG=true -sBUILTIN_PNG=true -sBUILTIN_Z=true -sBUILTIN_SSL=true install
|
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
|
- name: Smoke Tests
|
||||||
env:
|
env:
|
||||||
ARGYLL_NOT_INTERACTIVE: "1"
|
ARGYLL_NOT_INTERACTIVE: "1"
|
||||||
@@ -116,6 +126,7 @@ jobs:
|
|||||||
echo "Creating universal binary with lipo: $bin_name"
|
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"
|
lipo -create "raw-bin-x86_64/$bin_name" "raw-bin-arm64/$bin_name" -output "bin/$bin_name"
|
||||||
chmod +x "bin/$bin_name"
|
chmod +x "bin/$bin_name"
|
||||||
|
codesign -f -s - "bin/$bin_name"
|
||||||
else
|
else
|
||||||
echo "Non Mach-O file, copying directly: $bin_name"
|
echo "Non Mach-O file, copying directly: $bin_name"
|
||||||
cp "$file" "bin/$bin_name"
|
cp "$file" "bin/$bin_name"
|
||||||
@@ -123,6 +134,9 @@ jobs:
|
|||||||
else
|
else
|
||||||
echo "Warning: $bin_name not found in raw-bin-x86_64, copying arm64 version"
|
echo "Warning: $bin_name not found in raw-bin-x86_64, copying arm64 version"
|
||||||
cp "$file" "bin/$bin_name"
|
cp "$file" "bin/$bin_name"
|
||||||
|
if file "bin/$bin_name" | grep -q "Mach-O"; then
|
||||||
|
codesign -f -s - "bin/$bin_name"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for file in raw-bin-x86_64/*; do
|
for file in raw-bin-x86_64/*; do
|
||||||
@@ -130,18 +144,22 @@ jobs:
|
|||||||
if [ ! -f "bin/$bin_name" ]; then
|
if [ ! -f "bin/$bin_name" ]; then
|
||||||
echo "Warning: $bin_name only found in raw-bin-x86_64, copying x86_64 version"
|
echo "Warning: $bin_name only found in raw-bin-x86_64, copying x86_64 version"
|
||||||
cp "$file" "bin/$bin_name"
|
cp "$file" "bin/$bin_name"
|
||||||
|
if file "bin/$bin_name" | grep -q "Mach-O"; then
|
||||||
|
codesign -f -s - "bin/$bin_name"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: Verify Architecture & Smoke Tests
|
- name: Verify Architecture & Code Signatures
|
||||||
env:
|
env:
|
||||||
ARGYLL_NOT_INTERACTIVE: "1"
|
ARGYLL_NOT_INTERACTIVE: "1"
|
||||||
ARGYLL_EXCLUDE_SERIAL_SCAN: "1"
|
ARGYLL_EXCLUDE_SERIAL_SCAN: "1"
|
||||||
run: |
|
run: |
|
||||||
echo "=== Binary Architecture Verification ==="
|
echo "=== Binary Architecture & Signature Verification ==="
|
||||||
for file in bin/*; do
|
for file in bin/*; do
|
||||||
if [ -f "$file" ]; then
|
if [ -f "$file" ] && file "$file" | grep -q "Mach-O"; then
|
||||||
file "$file"
|
file "$file"
|
||||||
|
codesign -dvv "$file"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "=== Smoke Tests ==="
|
echo "=== Smoke Tests ==="
|
||||||
|
|||||||
+12
-1
@@ -7,7 +7,7 @@ echo "Script to invoke Jam and then package the binary release."
|
|||||||
PRODUCT=Argyll
|
PRODUCT=Argyll
|
||||||
|
|
||||||
# Set the environment string VERSION from the #define, ie 1.0.0
|
# 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:
|
# Typical environment variables:
|
||||||
# (NOTE some systems don't export these ENV vars. by default !!!)
|
# (NOTE some systems don't export these ENV vars. by default !!!)
|
||||||
@@ -173,6 +173,17 @@ if [ X$NO_BUILD = "X" ] ; then
|
|||||||
fi
|
fi
|
||||||
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
|
rm -rf $TOPDIR
|
||||||
mkdir $TOPDIR
|
mkdir $TOPDIR
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user