diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4001479fce..e53d61184f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -294,7 +294,7 @@ jobs: setenvs: export LIBJPEGTURBO_VERSION=3.0.1 LIBRAW_VERSION=0.21.2 LIBTIFF_VERSION=v4.6.0 - OPENCOLORIO_VERSION=v2.3.1 + OPENCOLORIO_VERSION=v2.3.2 OPENJPEG_VERSION=v2.4.0 PTEX_VERSION=v2.4.2 PUGIXML_VERSION=v1.14 @@ -452,7 +452,7 @@ jobs: macrunner: - name: "${{matrix.runner}} appleclang${{matrix.aclang}}/C++${{matrix.cxx_std}} py${{matrix.python_ver}} ${{matrix.desc}} boost1.76 exr3.1 ocio2.1" + name: "${{matrix.runner}} appleclang${{matrix.aclang}}/C++${{matrix.cxx_std}} py${{matrix.python_ver}} ${{matrix.desc}}" strategy: fail-fast: false matrix: @@ -463,20 +463,25 @@ jobs: cxx_std: 17 python_ver: "3.10" aclang: 13 - setenvs: export CTEST_TEST_TIMEOUT=600 - desc: MacOS-13 runner: macos-13 nametag: macos13-py311 - cxx_std: 20 + cxx_std: 17 python_ver: "3.11" aclang: 14 - setenvs: export CTEST_TEST_TIMEOUT=600 + - desc: MacOS-14-ARM + runner: macos-14 + nametag: macos14-arm-py311 + cxx_std: 20 + python_ver: "3.11" + aclang: 15 runs-on: ${{ matrix.runner }} env: CC: clang CXX: clang++ CMAKE_CXX_STANDARD: ${{ matrix.cxx_std }} PYTHON_VERSION: ${{ matrix.python_ver }} + CTEST_TEST_TIMEOUT: 600 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Prepare ccache timestamp diff --git a/.github/workflows/macarm.yml b/.github/workflows/macarm.yml deleted file mode 100644 index 4ee836c149..0000000000 --- a/.github/workflows/macarm.yml +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright Contributors to the OpenImageIO project. -# SPDX-License-Identifier: Apache-2.0 -# https://github.com/AcademySoftwareFoundation/OpenImageIO - - -# This workflow is for CI for ARM-based MacOS. In an ideal world, this would -# just be another matrix entry in the main CI workflow, but MacOS ARM runners -# too expensive to run on every PR push. So we break into a separate workflow -# to have more fine-grained control over when it runs. - -name: CI-Mac-ARM - -# This section controls when the workflow runs. -on: - # Run upon push, but only for tagged versions, or if the branch name - # contains the substrings "macarm", "-alpha", "-beta", or is called - # "release". - push: - tags: - - v** - branches: - - '*macarm*' - - '*alpha*' - - '*beta*' - - 'release' - # Run for pull requests whose branch name includes "macarm" (this allows - # us to test specific PRs that we think need ARM verification). - pull_request: {} - # Run monthly on the 27th (a few days before patch releases) to make sure we - # haven't broken anything among the many PRs that didn't test on ARM. - schedule: - - cron: "0 8 27 * *" - if: github.repository == 'AcademySoftwareFoundation/OpenImageIO' - -permissions: read-all - - -jobs: - # This section should remain an identical copy of the main CI workflow job - # for MacOS. - macos-arm: - name: "${{matrix.os}} appleclang${{matrix.aclang}}/C++${{matrix.cxx_std}} py${{matrix.python_ver}} ${{matrix.desc}} boost1.76 exr3.1 ocio2.1" - # Needs special runners, only run on the main repo, - if: github.repository == 'AcademySoftwareFoundation/OpenImageIO' && - ((github.event_name == 'pull_request' && contains(github.head_ref, 'macarm')) || - (github.event_name == 'push' || github.event_name == 'schedule')) - strategy: - fail-fast: false - matrix: - include: - - desc: MacOS-13 ARM - os: macos-13-xlarge - nametag: macos13-arm-py311 - cxx_std: 17 - python_ver: "3.11" - aclang: 14 - setenvs: export CTEST_TEST_TIMEOUT=600 USE_OPENCV=0 USE_QT=0 - runs-on: ${{ matrix.os }} - env: - CC: clang - CXX: clang++ - CMAKE_CXX_STANDARD: ${{ matrix.cxx_std }} - PYTHON_VERSION: ${{ matrix.python_ver }} - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Prepare ccache timestamp - id: ccache_cache_keys - run: echo "::set-output name=date::`date -u +'%Y-%m-%dT%H:%M:%SZ'`" - - name: ccache - id: ccache - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 - with: - path: /Users/runner/.ccache - key: ${{github.job}}-${{matrix.nametag}}-${{ steps.ccache_cache_keys.outputs.date }} - restore-keys: ${{github.job}}- - - name: Build setup - run: | - ${{matrix.setenvs}} - src/build-scripts/ci-startup.bash - - name: Dependencies - run: | - src/build-scripts/install_homebrew_deps.bash - ${{matrix.depcmds}} - - name: Build - run: | - export PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH - src/build-scripts/ci-build.bash - - name: Testsuite - run: src/build-scripts/ci-test.bash - - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 - if: failure() - with: - name: oiio-${{github.job}}-${{matrix.nametag}} - path: | - build/cmake-save - build/testsuite/*/*.* - !build/testsuite/oiio-images - !build/testsuite/openexr-images - !build/testsuite/fits-images - !build/testsuite/j2kp4files_v1_5