Files
argyllcms/.github/workflows/build-macos.yml

80 lines
2.6 KiB
YAML

name: macOS Release Build
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
build:
strategy:
matrix:
include:
- os: macos-15-intel
arch: x86_64
machtype: x86_64-apple-darwin
artifact: macOS_x86_64_bin
- os: macos-15
arch: arm64
machtype: arm64-apple-darwin
artifact: macOS_arm64_bin
runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install ftjam
run: |
wget -q -O ftjam.tar.gz https://sourceforge.net/projects/freetype/files/ftjam/2.5.2/ftjam-2.5.2.tar.gz/download
tar -xzf ftjam.tar.gz
cd ftjam-2.5.2
make CC="cc -Wno-implicit-function-declaration -Wno-incompatible-pointer-types -Wno-int-conversion -Wno-implicit-int"
sudo cp bin.*/jam /usr/local/bin/jam
- name: Build ArgyllCMS
run: |
export OSTYPE=darwin
export MACHTYPE=${{ matrix.machtype }}
export HOSTTYPE=${{ matrix.arch }}
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: Smoke Tests
env:
ARGYLL_NOT_INTERACTIVE: "1"
ARGYLL_EXCLUDE_SERIAL_SCAN: "1"
run: |
./bin/dispcal -? || true
./bin/chartread -? || true
./bin/colprof -? || true
./bin/targen -? || true
- name: Package Release
run: |
export OSTYPE=darwin
export MACHTYPE=${{ matrix.machtype }}
export HOSTTYPE=${{ matrix.arch }}
./makepackagebin.sh
TAG="${{ github.ref_name }}"
SHORT_SHA="$(git rev-parse --short HEAD)"
echo "SHORT_SHA=${SHORT_SHA}" >> $GITHUB_ENV
mv Argyll_V*_${{ matrix.artifact }}.tgz "Argyll_${TAG}_${SHORT_SHA}_${{ matrix.artifact }}.tgz"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: Argyll_${{ github.ref_name }}_${{ env.SHORT_SHA }}_${{ matrix.artifact }}
path: Argyll_*_${{ matrix.artifact }}.tgz
- name: Upload 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_*_${{ matrix.artifact }}.tgz