Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a07a5d638d | ||
|
|
b02df94744 | ||
|
|
fe0230b3d5 | ||
|
|
885fa3fee8 |
@@ -64,12 +64,6 @@ jobs:
|
|||||||
echo "SHORT_SHA=${SHORT_SHA}" >> $GITHUB_ENV
|
echo "SHORT_SHA=${SHORT_SHA}" >> $GITHUB_ENV
|
||||||
mv Argyll_V*_${{ matrix.artifact }}.tgz "Argyll_${TAG}_${SHORT_SHA}_${{ matrix.artifact }}.tgz"
|
mv Argyll_V*_${{ matrix.artifact }}.tgz "Argyll_${TAG}_${SHORT_SHA}_${{ matrix.artifact }}.tgz"
|
||||||
|
|
||||||
- name: Upload Raw Binaries
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: raw-bin-${{ matrix.arch }}
|
|
||||||
path: bin/
|
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -83,83 +77,3 @@ jobs:
|
|||||||
name: Release ${{ github.ref_name }}
|
name: Release ${{ github.ref_name }}
|
||||||
body: "Release ${{ github.ref_name }} built from commit ${{ github.sha }}"
|
body: "Release ${{ github.ref_name }} built from commit ${{ github.sha }}"
|
||||||
files: Argyll_*_${{ matrix.artifact }}.tgz
|
files: Argyll_*_${{ matrix.artifact }}.tgz
|
||||||
|
|
||||||
universal:
|
|
||||||
needs: build
|
|
||||||
runs-on: macos-15
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Download x86_64 binaries
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: raw-bin-x86_64
|
|
||||||
path: raw-bin-x86_64
|
|
||||||
|
|
||||||
- name: Download arm64 binaries
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: raw-bin-arm64
|
|
||||||
path: raw-bin-arm64
|
|
||||||
|
|
||||||
- name: Create Universal Binaries
|
|
||||||
run: |
|
|
||||||
mkdir -p bin
|
|
||||||
for file in raw-bin-arm64/*; do
|
|
||||||
bin_name=$(basename "$file")
|
|
||||||
if [ -f "raw-bin-x86_64/$bin_name" ]; then
|
|
||||||
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"
|
|
||||||
else
|
|
||||||
echo "Warning: $bin_name not found in raw-bin-x86_64, copying arm64 version"
|
|
||||||
cp "$file" "bin/$bin_name"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Verify Architecture & Smoke Tests
|
|
||||||
env:
|
|
||||||
ARGYLL_NOT_INTERACTIVE: "1"
|
|
||||||
ARGYLL_EXCLUDE_SERIAL_SCAN: "1"
|
|
||||||
run: |
|
|
||||||
echo "=== Binary Architecture Verification ==="
|
|
||||||
for file in bin/*; do
|
|
||||||
if [ -f "$file" ]; then
|
|
||||||
file "$file"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "=== Smoke Tests ==="
|
|
||||||
./bin/dispcal -? || true
|
|
||||||
./bin/chartread -? || true
|
|
||||||
./bin/colprof -? || true
|
|
||||||
./bin/targen -? || true
|
|
||||||
|
|
||||||
- name: Package Universal Release
|
|
||||||
run: |
|
|
||||||
export OSTYPE=darwin
|
|
||||||
export MACHTYPE=universal-apple-darwin
|
|
||||||
export HOSTTYPE=universal
|
|
||||||
export NO_BUILD=1
|
|
||||||
./makepackagebin.sh
|
|
||||||
TAG="${{ github.ref_name }}"
|
|
||||||
SHORT_SHA="$(git rev-parse --short HEAD)"
|
|
||||||
echo "SHORT_SHA=${SHORT_SHA}" >> $GITHUB_ENV
|
|
||||||
mv Argyll_V*_macOS_universal_bin.tgz "Argyll_${TAG}_${SHORT_SHA}_macOS_universal_bin.tgz"
|
|
||||||
|
|
||||||
- name: Upload Universal Artifact
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: Argyll_${{ github.ref_name }}_${{ env.SHORT_SHA }}_macOS_universal_bin
|
|
||||||
path: Argyll_*_macOS_universal_bin.tgz
|
|
||||||
|
|
||||||
- name: Upload Universal Release Asset
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
name: Release ${{ github.ref_name }}
|
|
||||||
body: "Release ${{ github.ref_name }} built from commit ${{ github.sha }}"
|
|
||||||
files: Argyll_*_macOS_universal_bin.tgz
|
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
<h1>[V3.4.1 -> V3.5.0] 4th February 2026<br>
|
<h1>[V3.4.1 -> V3.5.0] 4th February 2026<br>
|
||||||
</h1>
|
</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Added macOS Universal Binary release archive (Intel x86_64 + Apple Silicon arm64).</li>
|
|
||||||
<li>Fixed non-blocking stdin polling deadlock on MSWindows anonymous pipes when running interactive measurement tools in subprocess mode.</li>
|
<li>Fixed non-blocking stdin polling deadlock on MSWindows anonymous pipes when running interactive measurement tools in subprocess mode.</li>
|
||||||
<li>Added -d switch to printtarg to allow custom chart label strings or omit labelling entirely.</li>
|
<li>Added -d switch to printtarg to allow custom chart label strings or omit labelling entirely.</li>
|
||||||
<li>Added MSWindows ARM release.</li>
|
<li>Added MSWindows ARM release.</li>
|
||||||
|
|||||||
+8
-17
@@ -113,13 +113,6 @@ else if [ "${OSTYPE#*darwin*}" != "$OSTYPE" ] ; then
|
|||||||
echo "We're on MacOS arm64!"
|
echo "We're on MacOS arm64!"
|
||||||
PACKAGE=${PRODUCT}_V${VERSION}_macOS_arm64_bin.tgz
|
PACKAGE=${PRODUCT}_V${VERSION}_macOS_arm64_bin.tgz
|
||||||
export MACOSX_DEPLOYMENT_TARGET="11.0" # Minimum target platform version
|
export MACOSX_DEPLOYMENT_TARGET="11.0" # Minimum target platform version
|
||||||
else if [ X$HOSTTYPE = "Xuniversal" \
|
|
||||||
-o X$MACHTYPE = "Xuniversal-apple-darwin" \
|
|
||||||
-o X$COMPILER = "XUNIVERSAL" ] ; then
|
|
||||||
echo "We're on MacOS Universal!"
|
|
||||||
PACKAGE=${PRODUCT}_V${VERSION}_macOS_universal_bin.tgz
|
|
||||||
export MACOSX_DEPLOYMENT_TARGET="10.15" # Minimum target platform version
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -152,25 +145,23 @@ fi
|
|||||||
|
|
||||||
echo "Making GNU $PRODUCT binary distribution $PACKAGE for Version $VERSION"
|
echo "Making GNU $PRODUCT binary distribution $PACKAGE for Version $VERSION"
|
||||||
|
|
||||||
if [ X$NO_BUILD = "X" ] ; then
|
# Clean up so we get a solid build
|
||||||
# Clean up so we get a solid build
|
# .sp come from profile, .cht from scanin and .ti3 from spectro
|
||||||
# .sp come from profile, .cht from scanin and .ti3 from spectro
|
rm -f bin/*.exe bin/*.dll
|
||||||
rm -f bin/*.exe bin/*.dll
|
rm -f ref/*.sp ref/*.cht ref/*.ti2
|
||||||
rm -f ref/*.sp ref/*.cht ref/*.ti2
|
|
||||||
|
|
||||||
if [ X$CROSS_COMPILE = "X" ] ; then # If not cross compiling
|
if [ X$CROSS_COMPILE = "X" ] ; then # If not cross compiling
|
||||||
echo "Cleaning before build ..."
|
echo "Cleaning before build ..."
|
||||||
if ! jam -fJambase -sBUILTIN_TIFF=true -sBUILTIN_JPEG=true -sBUILTIN_PNG=true -sBUILTIN_Z=true -sBUILTIN_SSL=true clean ; then
|
if ! jam -fJambase -sBUILTIN_TIFF=true -sBUILTIN_JPEG=true -sBUILTIN_PNG=true -sBUILTIN_Z=true -sBUILTIN_SSL=true clean ; then
|
||||||
echo "Clean failed!"
|
echo "Clean failed!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Make sure it's built and installed
|
# Make sure it's built and installed
|
||||||
if ! jam -q -fJambase -j${NUMBER_OF_PROCESSORS:-1} -sBUILTIN_TIFF=true -sBUILTIN_JPEG=true -sBUILTIN_PNG=true -sBUILTIN_Z=true -sBUILTIN_SSL=true install ; then
|
if ! jam -q -fJambase -j${NUMBER_OF_PROCESSORS:-1} -sBUILTIN_TIFF=true -sBUILTIN_JPEG=true -sBUILTIN_PNG=true -sBUILTIN_Z=true -sBUILTIN_SSL=true install ; then
|
||||||
echo "Build failed!"
|
echo "Build failed!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf $TOPDIR
|
rm -rf $TOPDIR
|
||||||
|
|||||||
Reference in New Issue
Block a user