From 9790c5a00e52fe1f7ebc67bf1d895530decf5e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Achard?= Date: Thu, 8 Feb 2024 22:02:05 +0000 Subject: [PATCH] CI Workflows various fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: RĂ©mi Achard --- .github/workflows/analysis_workflow.yml | 8 +- .github/workflows/ci-macarm.yml | 4 +- .github/workflows/ci_workflow.yml | 8 +- .github/workflows/dependencies_latest.yml | 8 +- .github/workflows/platform_latest.yml | 10 +- .github/workflows/wheel_workflow.yml | 122 +++++++++++----------- 6 files changed, 83 insertions(+), 77 deletions(-) diff --git a/.github/workflows/analysis_workflow.yml b/.github/workflows/analysis_workflow.yml index 23c1151393..d7e0e713c1 100644 --- a/.github/workflows/analysis_workflow.yml +++ b/.github/workflows/analysis_workflow.yml @@ -27,7 +27,7 @@ jobs: # --------------------------------------------------------------------------- linux_sonarcloud: - name: 'Linux CentOS 7 VFX CY2022 SonarCloud ' + name: 'Linux CentOS 7 VFX CY2023 SonarCloud' # Don't run on OCIO forks if: github.repository == 'AcademySoftwareFoundation/OpenColorIO' # GH-hosted VM. The build runs in CentOS 7 'container' defined below. @@ -35,15 +35,17 @@ jobs: container: # DockerHub: https://hub.docker.com/u/aswf # Source: https://github.com/AcademySoftwareFoundation/aswf-docker - image: aswf/ci-ocio:2022 + image: aswf/ci-ocio:2023 env: CXX: g++ CC: gcc steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 50 + - name: Install sonar-scanner and build-wrapper + uses: sonarsource/sonarcloud-github-c-cpp@v2 - name: Install docs env run: share/ci/scripts/linux/yum/install_docs_env.sh - name: Install tests env diff --git a/.github/workflows/ci-macarm.yml b/.github/workflows/ci-macarm.yml index 58b42d6f27..7009fbf2db 100644 --- a/.github/workflows/ci-macarm.yml +++ b/.github/workflows/ci-macarm.yml @@ -72,11 +72,11 @@ jobs: python-version: '3.11' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install docs env run: share/ci/scripts/macos/install_docs_env.sh if: matrix.build-docs == 'ON' diff --git a/.github/workflows/ci_workflow.yml b/.github/workflows/ci_workflow.yml index 9ac6e75443..cd076af1ac 100644 --- a/.github/workflows/ci_workflow.yml +++ b/.github/workflows/ci_workflow.yml @@ -388,11 +388,11 @@ jobs: python-version: '3.7' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install docs env run: share/ci/scripts/macos/install_docs_env.sh if: matrix.build-docs == 'ON' @@ -533,11 +533,11 @@ jobs: python-version: '3.7' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install docs env run: | DOXYGEN_PATH=$GITHUB_WORKSPACE/doxygen diff --git a/.github/workflows/dependencies_latest.yml b/.github/workflows/dependencies_latest.yml index d37a9882eb..d95d732c85 100644 --- a/.github/workflows/dependencies_latest.yml +++ b/.github/workflows/dependencies_latest.yml @@ -189,11 +189,11 @@ jobs: use-oiio: 'OFF' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install docs env run: share/ci/scripts/macos/install_docs_env.sh if: matrix.build-docs == 'ON' @@ -294,11 +294,11 @@ jobs: use-oiio: 'OFF' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install docs env run: | DOXYGEN_PATH=$GITHUB_WORKSPACE/doxygen diff --git a/.github/workflows/platform_latest.yml b/.github/workflows/platform_latest.yml index b57398be01..60b97cfc52 100644 --- a/.github/workflows/platform_latest.yml +++ b/.github/workflows/platform_latest.yml @@ -86,7 +86,7 @@ jobs: CC: ${{ matrix.cc-compiler }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install tests env run: share/ci/scripts/linux/yum/install_tests_env.sh - name: Create build directories @@ -197,11 +197,11 @@ jobs: python-version: '3.11' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install tests env run: share/ci/scripts/macos/install_tests_env.sh - name: Create build directories @@ -308,11 +308,11 @@ jobs: python-version: '3.11' steps: - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install tests env run: share/ci/scripts/windows/install_tests_env.sh shell: bash diff --git a/.github/workflows/wheel_workflow.yml b/.github/workflows/wheel_workflow.yml index 022c30496a..20c39cfb15 100644 --- a/.github/workflows/wheel_workflow.yml +++ b/.github/workflows/wheel_workflow.yml @@ -51,7 +51,7 @@ jobs: steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build SDist run: pipx run build --sdist @@ -59,7 +59,7 @@ jobs: - name: Check metadata run: pipx run twine check dist/* - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: dist/*.tar.gz @@ -82,106 +82,107 @@ jobs: # ------------------------------------------------------------------- - build: CPython 3.7 64 bits manylinux_2_28 manylinux: manylinux_2_28 - python: cp37-manylinux* + python: cp37-manylinux_x86_64 arch: x86_64 - build: CPython 3.8 64 bits manylinux_2_28 manylinux: manylinux_2_28 - python: cp38-manylinux* + python: cp38-manylinux_x86_64 arch: x86_64 - build: CPython 3.9 64 bits manylinux_2_28 manylinux: manylinux_2_28 - python: cp39-manylinux* + python: cp39-manylinux_x86_64 arch: x86_64 - build: CPython 3.10 64 bits manylinux_2_28 manylinux: manylinux_2_28 - python: cp310-manylinux* + python: cp310-manylinux_x86_64 arch: x86_64 - build: CPython 3.11 64 bits manylinux_2_28 manylinux: manylinux_2_28 - python: cp311-manylinux* + python: cp311-manylinux_x86_64 arch: x86_64 - build: CPython 3.12 64 bits manylinux_2_28 manylinux: manylinux_2_28 - python: cp312-manylinux* + python: cp312-manylinux_x86_64 arch: x86_64 # ------------------------------------------------------------------- # CPython 64 bits manylinux2014 # ------------------------------------------------------------------- - - build: CPython 3.7 64 bits manylinux2014 + - build: CPython 3.7 64 bits manylinux2014 manylinux: manylinux2014 - python: cp37-manylinux* + python: cp37-manylinux_x86_64 arch: x86_64 - - build: CPython 3.8 64 bits manylinux2014 + - build: CPython 3.8 64 bits manylinux2014 manylinux: manylinux2014 - python: cp38-manylinux* + python: cp38-manylinux_x86_64 arch: x86_64 - - build: CPython 3.9 64 bits manylinux2014 + - build: CPython 3.9 64 bits manylinux2014 manylinux: manylinux2014 - python: cp39-manylinux* + python: cp39-manylinux_x86_64 arch: x86_64 - - build: CPython 3.10 64 bits manylinux2014 + - build: CPython 3.10 64 bits manylinux2014 manylinux: manylinux2014 - python: cp310-manylinux* + python: cp310-manylinux_x86_64 arch: x86_64 - - build: CPython 3.11 64 bits manylinux2014 + - build: CPython 3.11 64 bits manylinux2014 manylinux: manylinux2014 - python: cp311-manylinux* + python: cp311-manylinux_x86_64 arch: x86_64 - - build: CPython 3.12 64 bits manylinux2014 + - build: CPython 3.12 64 bits manylinux2014 manylinux: manylinux2014 - python: cp312-manylinux* + python: cp312-manylinux_x86_64 arch: x86_64 # ------------------------------------------------------------------- # CPython ARM 64 bits manylinux2014 # ------------------------------------------------------------------- - build: CPython 3.7 ARM 64 bits manylinux2014 manylinux: manylinux2014 - python: cp37-manylinux* + python: cp37-manylinux_aarch64 arch: aarch64 - build: CPython 3.8 ARM 64 bits manylinux2014 manylinux: manylinux2014 - python: cp38-manylinux* + python: cp38-manylinux_aarch64 arch: aarch64 - build: CPython 3.9 ARM 64 bits manylinux2014 manylinux: manylinux2014 - python: cp39-manylinux* + python: cp39-manylinux_aarch64 arch: aarch64 - build: CPython 3.10 ARM 64 bits manylinux2014 manylinux: manylinux2014 - python: cp310-manylinux* + python: cp310-manylinux_aarch64 arch: aarch64 - build: CPython 3.11 ARM 64 bits manylinux2014 manylinux: manylinux2014 - python: cp311-manylinux* + python: cp311-manylinux_aarch64 arch: aarch64 - build: CPython 3.12 ARM 64 bits manylinux2014 manylinux: manylinux2014 - python: cp312-manylinux* + python: cp312-manylinux_aarch64 arch: aarch64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 name: Install Python with: python-version: '3.8' - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 with: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.16.5 env: CIBW_BUILD: ${{ matrix.python }} CIBW_ARCHS: ${{ matrix.arch }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }} CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.manylinux }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: cibw-wheels-${{ matrix.python }}-${{ matrix.manylinux }} path: ./wheelhouse/*.whl # --------------------------------------------------------------------------- @@ -202,58 +203,59 @@ jobs: # CPython 64 bits # ------------------------------------------------------------------- - build: CPython 3.7 64 bits - python: cp37-* + python: cp37-macosx_x86_64 arch: x86_64 - build: CPython 3.8 64 bits - python: cp38-* + python: cp38-macosx_x86_64 arch: x86_64 - build: CPython 3.9 64 bits - python: cp39-* + python: cp39-macosx_x86_64 arch: x86_64 - build: CPython 3.10 64 bits - python: cp310-* + python: cp310-macosx_x86_64 arch: x86_64 - build: CPython 3.11 64 bits - python: cp311-* + python: cp311-macosx_x86_64 arch: x86_64 - build: CPython 3.12 64 bits - python: cp312-* + python: cp312-macosx_x86_64 arch: x86_64 # ------------------------------------------------------------------- # CPython ARM 64 bits # ------------------------------------------------------------------- - build: CPython 3.8 ARM 64 bits - python: cp38-* + python: cp38-macosx_arm64 arch: arm64 - build: CPython 3.9 ARM 64 bits - python: cp39-* + python: cp39-macosx_arm64 arch: arm64 - build: CPython 3.10 ARM 64 bits - python: cp310-* + python: cp310-macosx_arm64 arch: arm64 - build: CPython 3.11 ARM 64 bits - python: cp311-* + python: cp311-macosx_arm64 arch: arm64 - build: CPython 3.12 ARM 64 bits - python: cp312-* + python: cp312-macosx_arm64 arch: arm64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 name: Install Python with: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.16.5 env: CIBW_BUILD: ${{ matrix.python }} CIBW_ARCHS: ${{ matrix.arch }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: cibw-wheels-${{ matrix.python }} path: ./wheelhouse/*.whl # --------------------------------------------------------------------------- @@ -274,40 +276,41 @@ jobs: # CPython 64 bits # ------------------------------------------------------------------- - build: CPython 3.7 64 bits - python: cp37-* + python: cp37-win_amd64 arch: AMD64 - build: CPython 3.8 64 bits - python: cp38-* + python: cp38-win_amd64 arch: AMD64 - build: CPython 3.9 64 bits - python: cp39-* + python: cp39-win_amd64 arch: AMD64 - build: CPython 3.10 64 bits - python: cp310-* + python: cp310-win_amd64 arch: AMD64 - build: CPython 3.11 64 bits - python: cp311-* + python: cp311-win_amd64 arch: AMD64 - build: CPython 3.12 64 bits - python: cp312-* + python: cp312-win_amd64 arch: AMD64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 name: Install Python with: python-version: '3.8' - name: Build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.16.5 env: CIBW_BUILD: ${{ matrix.python }} CIBW_ARCHS: ${{ matrix.arch }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: cibw-wheels-${{ matrix.python }} path: ./wheelhouse/*.whl @@ -316,12 +319,13 @@ jobs: runs-on: ubuntu-latest if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') steps: - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: artifact + pattern: cibw-* path: dist + merge-multiple: true - uses: pypa/gh-action-pypi-publish@release/v1 with: