Nightly Mac PKG #717
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |