Skip to content

Nightly Mac PKG

Nightly Mac PKG #717

Workflow file for this run

name: Nightly Mac PKG
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
Win64:
if: github.repository == 'aurelienpierreeng/ansel' || github.event_name == 'workflow_dispatch'
name: Nightly Ansel Mac OS build
runs-on: macos-12
strategy:
fail-fast: false
matrix:
build:
- { os: macos-12, xcode: 13.4, deployment: 12.3 }
btype:
- Release
compiler:
- { compiler: XCode, CC: cc, CXX: c++ }
eco: [-DBINARY_PACKAGE_BUILD=ON]
target:
- skiptest
generator:
- Ninja
branch:
- { code: "${{ github.ref_name }}", label: stable }
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.build.xcode }}.app/Contents/Developer
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.build.deployment }}
SRC_DIR: ${{ github.workspace }}/src
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_PREFIX: ${{ github.workspace }}/install
CMAKE_BUILD_TYPE: ${{ matrix.btype }}
GENERATOR: ${{ matrix.generator }}
TARGET: ${{ matrix.target }}
BRANCH: ${{ matrix.branch.code }}
BUILD_NAME: ${{ matrix.branch.label }}
steps:
- uses: actions/checkout@v3
with:
ref: ${{ env.BRANCH }}
fetch-depth: 1
submodules: true
path: src
- name: Install Base Dependencies
run: |
brew update > /dev/null || true
brew unlink python@3.8
brew unlink python@3.11
sudo rm '/usr/local/bin/2to3'
# python 3.11 already installed on the system. We need to remove the symlinks
# so python 3.10 can capture them.
sudo rm '/usr/local/bin/idle3'
sudo rm '/usr/local/bin/pydoc3'
sudo rm '/usr/local/bin/python3'
sudo rm '/usr/local/bin/python3-config'
# brew link --overwrite python@3.9 # workaround introduced 30.12.2020, replace asap.
brew link --overwrite python@3.10 # workaround introduced 16.12.2022
# brew upgrade --ignore-pinned # workaround introduced 18.07.2021, replace asap
brew tap Homebrew/bundle
cd src/.ci
brew bundle --verbose
brew link --force libomp # fix for keg-only libomp
- name: Update lensfun data
if: ${{ success() }}
run: |
lensfun-update-data
- name: Build and Install
run: |
cmake -E make_directory "${BUILD_DIR}";
cmake -E make_directory "${INSTALL_PREFIX}";
./src/.ci/ci-script.sh;
- name: Check if it runs
run: |
${INSTALL_PREFIX}/bin/ansel --version || true
${INSTALL_PREFIX}/bin/ansel-cli \
--width 2048 --height 2048 \
--hq true --apply-custom-presets false \
"${SRC_DIR}/src/tests/integration/images/mire1.cr2" \
"${SRC_DIR}/src/tests/integration/0000-nop/nop.xmp" \
output.png \
--core --disable-opencl --conf host_memory_limit=8192 \
--conf worker_threads=4 -t 4 \
--conf plugins/lighttable/export/force_lcms2=FALSE \
--conf plugins/lighttable/export/iccintent=0 || true # OpenMP builds crash for most configs
- name: Package upload
if: ${{ success() }}
uses: actions/upload-artifact@v3
with:
name: ansel.${{ env.BUILD_NAME }}.mac
path: ${{ env.BUILD_DIR }}/ansel-*.dmg
retention-days: 90
upload_to_release:
runs-on: ubuntu-latest
needs: Win64
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: ansel.stable.mac
- name: Update nightly release
uses: eine/tip@master
with:
tag: v0.0.0
rm: false
token: ${{ secrets.GITHUB_TOKEN }}
files: ansel-*.dmg