From bf6b529b7aff1488da0e135df26c424085f754be Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Mon, 13 Nov 2023 15:37:39 +0100 Subject: [PATCH 1/8] Separate pre-commit step Signed-off-by: Cristian Le --- .github/workflows/ci.yaml | 7 ++++++- .github/workflows/step_pre-commit.yaml | 21 +++++++++++++++++++++ .github/workflows/step_test.yaml | 14 +------------- 3 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/step_pre-commit.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d52c0ed3c..35cbc3b99 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -35,7 +35,11 @@ concurrency: cancel-in-progress: true jobs: + pre-commit: + uses: ./.github/workflows/step_pre-commit.yaml + tests: + needs: [ pre-commit ] uses: ./.github/workflows/step_test.yaml build-wheel: @@ -48,10 +52,11 @@ jobs: cibw_build: ${{ inputs.cibw_build || 'cp311-*' }} test-docs: + needs: [ pre-commit ] uses: ./.github/workflows/step_test-docs.yaml pass: - needs: [tests, test-docs, build-wheel] + needs: [ pre-commit, tests, test-docs, build-wheel ] runs-on: ubuntu-latest steps: - name: Check all CI jobs diff --git a/.github/workflows/step_pre-commit.yaml b/.github/workflows/step_pre-commit.yaml new file mode 100644 index 000000000..f42dc9429 --- /dev/null +++ b/.github/workflows/step_pre-commit.yaml @@ -0,0 +1,21 @@ +name: pre-commit +run-name: Pre-commit checks + +on: + workflow_call: + +permissions: + contents: read + +jobs: + pre-commit: + name: Check pre-commit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - uses: pre-commit/action@v3.0.0 diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index fea79c332..93f828d4b 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -12,23 +12,11 @@ permissions: contents: read jobs: - pre-commit: - name: Check pre-commit - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions/setup-python@v4 - with: - python-version: 3.x - - uses: pre-commit/action@v3.0.0 tests: name: Check ${{ matrix.toolchain }} and Python ${{ matrix.python-version }} runs-on: ${{ matrix.os || 'ubuntu-latest' }} container: ${{ !matrix.os && 'ghcr.io/lecrisut/dev-env:main' || '' }} - needs: [ pre-commit ] continue-on-error: ${{ matrix.experimental || false }} strategy: fail-fast: false @@ -153,7 +141,7 @@ jobs: flags: python_api verbose: true pass: - needs: [pre-commit, tests, coverage, coverage-pytest] + needs: [ tests, coverage, coverage-pytest ] runs-on: ubuntu-latest steps: - name: Check test jobs From dd6fb212f368c14977fced1e9b07630a51e5c618 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Mon, 13 Nov 2023 15:38:56 +0100 Subject: [PATCH 2/8] fix concurrency references Concurrency should be checked only on the top-level CI/caller Signed-off-by: Cristian Le --- .github/workflows/step_build-wheel.yaml | 4 ---- .github/workflows/step_test.yaml | 4 ---- 2 files changed, 8 deletions(-) diff --git a/.github/workflows/step_build-wheel.yaml b/.github/workflows/step_build-wheel.yaml index 169225143..36e1807a8 100644 --- a/.github/workflows/step_build-wheel.yaml +++ b/.github/workflows/step_build-wheel.yaml @@ -1,10 +1,6 @@ name: pypi-wheel run-name: Spglib PyPI Wheel builds for linux -concurrency: - group: ${{ github.ref }} - cancel-in-progress: true - permissions: contents: read diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index 93f828d4b..910e2b0d0 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -1,10 +1,6 @@ name: test run-name: Run tests -concurrency: - group: ${{ github.ref }} - cancel-in-progress: true - on: workflow_call: From a2927c3b3ea51f247b571dc931aa1e92fe85c6ca Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Mon, 13 Nov 2023 15:47:46 +0100 Subject: [PATCH 3/8] Simplify CI names Make the CI report more navigable Signed-off-by: Cristian Le --- .github/workflows/ci.yaml | 8 ++++++++ .github/workflows/release.yaml | 10 ++++++---- .github/workflows/step_build-wheel.yaml | 7 +++---- .github/workflows/step_pre-commit.yaml | 1 - .github/workflows/step_test-docs.yaml | 3 +-- .github/workflows/step_test.yaml | 24 +++++++++--------------- 6 files changed, 27 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 35cbc3b99..588197997 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,7 @@ name: CI +run-name: > + CI (${{ github.event_name }}) + ${{ github.event_name == 'pull_request' && format('PR#{0}', github.event.number) || '' }} on: workflow_dispatch: @@ -36,13 +39,16 @@ concurrency: jobs: pre-commit: + name: pre-commit uses: ./.github/workflows/step_pre-commit.yaml tests: + name: test needs: [ pre-commit ] uses: ./.github/workflows/step_test.yaml build-wheel: + name: build-wheel uses: ./.github/workflows/step_build-wheel.yaml needs: [ tests ] with: @@ -52,10 +58,12 @@ jobs: cibw_build: ${{ inputs.cibw_build || 'cp311-*' }} test-docs: + name: ๐Ÿ“˜ test-docs needs: [ pre-commit ] uses: ./.github/workflows/step_test-docs.yaml pass: + name: โœ… Pass needs: [ pre-commit, tests, test-docs, build-wheel ] runs-on: ubuntu-latest steps: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f0cc2fe02..cbdbb964a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,5 +1,5 @@ -name: release -run-name: Release +name: ๐Ÿš€ release +run-name: Release ${{ github.ref_name }} on: push: @@ -9,13 +9,15 @@ on: jobs: tests: + name: tests uses: ./.github/workflows/step_test.yaml - pypi-wheel: + build-wheel: + name: build-wheel needs: [ tests ] uses: ./.github/workflows/step_build-wheel.yaml upload_pypi: name: Upload to PyPI repository - needs: [ tests, pypi-wheel ] + needs: [ tests, build-wheel ] runs-on: ubuntu-latest environment: name: pypi diff --git a/.github/workflows/step_build-wheel.yaml b/.github/workflows/step_build-wheel.yaml index 36e1807a8..d5ae7a11e 100644 --- a/.github/workflows/step_build-wheel.yaml +++ b/.github/workflows/step_build-wheel.yaml @@ -1,5 +1,4 @@ -name: pypi-wheel -run-name: Spglib PyPI Wheel builds for linux +name: build-wheel permissions: contents: read @@ -30,7 +29,7 @@ on: jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} + name: ๐Ÿ–ฅ๏ธ ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -60,7 +59,7 @@ jobs: if: ${{ inputs.upload }} build_sdist: - name: Build source distribution + name: ๐Ÿ sdist runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/step_pre-commit.yaml b/.github/workflows/step_pre-commit.yaml index f42dc9429..fbd8b279c 100644 --- a/.github/workflows/step_pre-commit.yaml +++ b/.github/workflows/step_pre-commit.yaml @@ -1,5 +1,4 @@ name: pre-commit -run-name: Pre-commit checks on: workflow_call: diff --git a/.github/workflows/step_test-docs.yaml b/.github/workflows/step_test-docs.yaml index ac712903c..c36e3d811 100644 --- a/.github/workflows/step_test-docs.yaml +++ b/.github/workflows/step_test-docs.yaml @@ -1,5 +1,4 @@ -name: test-docs -run-name: Run documentation tests +name: ๐Ÿ“˜ test-docs on: workflow_call: diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index 910e2b0d0..c7e7ec979 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -1,5 +1,4 @@ name: test -run-name: Run tests on: workflow_call: @@ -10,7 +9,11 @@ permissions: jobs: tests: - name: Check ${{ matrix.toolchain }} and Python ${{ matrix.python-version }} + name: > + ๐Ÿ–ฅ๏ธ ${{ matrix.os || 'Fedora' }} + + ${{ !matrix.os && format('๐Ÿ› ๏ธ {0} +', matrix.toolchain) || '' }} + ๐Ÿ ${{ matrix.python-version }} + ${{ matrix.experimental && '[๐Ÿงช Experimental]' || '' }} runs-on: ${{ matrix.os || 'ubuntu-latest' }} container: ${{ !matrix.os && 'ghcr.io/lecrisut/dev-env:main' || '' }} continue-on-error: ${{ matrix.experimental || false }} @@ -18,7 +21,7 @@ jobs: fail-fast: false matrix: toolchain: [ gcc, llvm, intel, windows, macos ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] include: - os: windows-2019 toolchain: windows @@ -54,7 +57,7 @@ jobs: run: git config --system --add safe.directory '*' - name: Patch /etc/lsb-release for experimental python # Mimic Ubuntu in order to be able to download experimental python - run : | + run: | echo -en 'DISTRIB_ID=Ubuntu\nDISTRIB_RELEASE=22.04\nDISTRIB_CODENAME=jammy\nDISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"' >> /etc/lsb-release if: ${{ !matrix.os && matrix.experimental }} - name: Setup python ${{ matrix.python-version }} @@ -72,7 +75,7 @@ jobs: workflowPreset: "${{ matrix.toolchain }}-ci" coverage: - name: Check ${{ matrix.coverage_api }} API test coverage + name: Coverage ${{ matrix.coverage_api }} runs-on: ubuntu-latest needs: [ tests ] strategy: @@ -102,7 +105,7 @@ jobs: verbose: true coverage-pytest: - name: Run python tests with coverage + name: Coverage python runs-on: ubuntu-latest needs: [ tests ] steps: @@ -136,12 +139,3 @@ jobs: files: coverage.info,.coverage flags: python_api verbose: true - pass: - needs: [ tests, coverage, coverage-pytest ] - runs-on: ubuntu-latest - steps: - - name: Check test jobs - uses: re-actors/alls-green@release/v1 - with: - jobs: ${{ toJSON(needs) }} - if: always() From 3f882520df4e0aac04cecabbf96028a9dbf2df82 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Fri, 19 Jan 2024 19:25:11 +0100 Subject: [PATCH 4/8] Separate coverage step Signed-off-by: Cristian Le --- .github/workflows/ci.yaml | 7 ++- .github/workflows/step_coverage.yaml | 70 ++++++++++++++++++++++++++++ .github/workflows/step_test.yaml | 66 -------------------------- 3 files changed, 76 insertions(+), 67 deletions(-) create mode 100644 .github/workflows/step_coverage.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 588197997..fad6c6c87 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -47,6 +47,11 @@ jobs: needs: [ pre-commit ] uses: ./.github/workflows/step_test.yaml + coverage: + name: ๐Ÿ‘€ coverage + needs: [ tests ] + uses: ./.github/workflows/step_coverage.yaml + build-wheel: name: build-wheel uses: ./.github/workflows/step_build-wheel.yaml @@ -64,7 +69,7 @@ jobs: pass: name: โœ… Pass - needs: [ pre-commit, tests, test-docs, build-wheel ] + needs: [ pre-commit, tests, test-docs, build-wheel, coverage ] runs-on: ubuntu-latest steps: - name: Check all CI jobs diff --git a/.github/workflows/step_coverage.yaml b/.github/workflows/step_coverage.yaml new file mode 100644 index 000000000..7866c1d58 --- /dev/null +++ b/.github/workflows/step_coverage.yaml @@ -0,0 +1,70 @@ +name: ๐Ÿ‘€ coverage + +on: + workflow_call: + +permissions: + contents: read + +jobs: + ctest: + name: ${{ matrix.coverage }} + runs-on: ubuntu-latest + strategy: + matrix: + coverage: [ unit_tests, c_api, fortran_api ] + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: lukka/get-cmake@latest + - name: Get test coverage for ${{ matrix.coverage }} + uses: lukka/run-cmake@v10.3 + with: + workflowPreset: "ci-coverage-${{ matrix.coverage }}" + - name: Get lcov data + uses: danielealbano/lcov-action@v3 + with: + # Note lcov-action prepends and appends wild-cards *. Account for those + # https://github.com/danielealbano/lcov-action/issues/11 + remove_patterns: /test/,/cmake-build*/ + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + name: ${{ matrix.coverage }} coverage + files: coverage.info + flags: ${{ matrix.coverage }} + verbose: true + + pytest: + name: python_api + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - name: Setup spglib + run: | + python -m pip install --upgrade pip + pip install .[test-cov] \ + --config-settings=cmake.define.CMAKE_C_COMPILER=gcc \ + --config-settings=cmake.define.SPGLIB_TEST_COVERAGE=ON \ + --config-settings=build-dir=build + - name: Test pytest with coverage + run: pytest --cov=spglib + - name: Get lcov data + uses: danielealbano/lcov-action@v3 + with: + # Note lcov-action prepends and appends wild-cards *. Account for those + # https://github.com/danielealbano/lcov-action/issues/11 + remove_patterns: /test/,/cmake-build*/,/tmp/ + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + name: python_api coverage + files: coverage.info,.coverage + flags: python_api + verbose: true diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index c7e7ec979..d66da3de8 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -73,69 +73,3 @@ jobs: uses: lukka/run-cmake@v10.3 with: workflowPreset: "${{ matrix.toolchain }}-ci" - - coverage: - name: Coverage ${{ matrix.coverage_api }} - runs-on: ubuntu-latest - needs: [ tests ] - strategy: - matrix: - coverage: [ unit_tests, c_api, fortran_api ] - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: lukka/get-cmake@latest - - name: Get test coverage for ${{ matrix.coverage }} - uses: lukka/run-cmake@v10.3 - with: - workflowPreset: "ci-coverage-${{ matrix.coverage }}" - - name: Get lcov data - uses: danielealbano/lcov-action@v3 - with: - # Note lcov-action prepends and appends wild-cards *. Account for those - # https://github.com/danielealbano/lcov-action/issues/11 - remove_patterns: /test/,/cmake-build*/ - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 - with: - name: ${{ matrix.coverage }} coverage - files: coverage.info - flags: ${{ matrix.coverage }} - verbose: true - - coverage-pytest: - name: Coverage python - runs-on: ubuntu-latest - needs: [ tests ] - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.x - cache: pip - - name: Setup spglib - run: | - python -m pip install --upgrade pip - pip install .[test-cov] \ - --config-settings=cmake.define.CMAKE_C_COMPILER=gcc \ - --config-settings=cmake.define.SPGLIB_TEST_COVERAGE=ON \ - --config-settings=build-dir=build - - name: Test pytest with coverage - run: pytest --cov=spglib - - name: Get lcov data - uses: danielealbano/lcov-action@v3 - with: - # Note lcov-action prepends and appends wild-cards *. Account for those - # https://github.com/danielealbano/lcov-action/issues/11 - remove_patterns: /test/,/cmake-build*/,/tmp/ - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 - with: - name: python api coverage - files: coverage.info,.coverage - flags: python_api - verbose: true From 7e8f5d242e943b681dc54ae8a6bb6e633289f5b5 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Fri, 19 Jan 2024 19:29:27 +0100 Subject: [PATCH 5/8] Mask experimental runs Signed-off-by: Cristian Le --- .github/workflows/ci.yaml | 2 ++ .github/workflows/step_test.yaml | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fad6c6c87..39ff943b7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -46,6 +46,8 @@ jobs: name: test needs: [ pre-commit ] uses: ./.github/workflows/step_test.yaml + with: + mask-experimental: ${{ github.event_name == 'push' }} coverage: name: ๐Ÿ‘€ coverage diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index d66da3de8..78171c3d3 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -2,6 +2,11 @@ name: test on: workflow_call: + inputs: + mask-experimental: + type: boolean + default: true + description: Always report experimental test as successful permissions: contents: read @@ -73,3 +78,4 @@ jobs: uses: lukka/run-cmake@v10.3 with: workflowPreset: "${{ matrix.toolchain }}-ci" + continue-on-error: ${{ matrix.experimental && inputs.mask-experimental}} From 90196bbc489b46bcc0df771e98165834c5de1052 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Fri, 19 Jan 2024 20:14:16 +0100 Subject: [PATCH 6/8] Badges! Signed-off-by: Cristian Le --- README.md | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index df40e7600..7d9189840 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,21 @@ -[![Version Badge](https://anaconda.org/conda-forge/spglib/badges/version.svg)](https://anaconda.org/conda-forge/spglib) -[![Downloads Badge](https://anaconda.org/conda-forge/spglib/badges/downloads.svg)](https://anaconda.org/conda-forge/spglib) -[![PyPI](https://img.shields.io/pypi/dm/spglib.svg?maxAge=2592000)](https://pypi.python.org/pypi/spglib) - # Spglib +[![CI Status][ci-badge]][ci-link] +[![Documentation Status][rtd-badge]][rtd-link] +[![Codecov Status][codecov-badge]][codecov-link] + +![License Status][license-badge] +![CMake Status][cmake-badge] +[![Python Versions][python-version]][pypi-link] + +[![Release Status][release-badge]][release-link] +[![Conda Status][conda-badge]][conda-link] +[![PyPI Status][pypi-badge]][pypi-link] +[![Fedora Status][fedora-badge]][fedora-link] + +[![PyPI Downloads][pypi-downloads]][pypi-link] +[![Conda Downloads][conda-downloads]][conda-link] + C library for finding and handling crystal symmetries @@ -177,3 +189,23 @@ improvements. See [Contributing.md](Contributing.md) for more details. See [https://spglib.readthedocs.io/](https://spglib.readthedocs.io/) for further documentation. See the [doc documentation](doc/README.md) for more information on how to contribute to the documentation. + +[ci-badge]: https://github.com/spglib/spglib/actions/workflows/ci.yaml/badge.svg?branch=develop&event=push +[ci-link]: https://github.com/spglib/spglib/actions/workflows/ci.yaml?query=branch%3Adevelop+event%3Apush +[cmake-badge]: https://img.shields.io/badge/CMake-3.15-blue?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMiIgdmlld0JveD0iMCAwIDU0NS41IDU0NS45Ij48cGF0aCBkPSJNNTQ2IDUzNCAyODIgOWwzOSA0MzQgMjI1IDkxeiIgZGF0YS1uYW1lPSJyZWQgcmlnaHQiIHN0eWxlPSJmaWxsOiNmMzI3MzU7c3Ryb2tlLXdpZHRoOjAiLz48cGF0aCBkPSJNNTI1IDU0NiAxNzAgNDAzIDEgNTQ2aDUyNHoiIGRhdGEtbmFtZT0iZ3JlZW4gYm90dG9tIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjA7ZmlsbDojM2VhZTJiIi8+PHBhdGggZD0iTTI2MyAwIDAgNTIybDI4OC0yNDRMMjYzIDB6IiBkYXRhLW5hbWU9ImJsdWUgbGVmdCIgc3R5bGU9ImZpbGw6IzAwNjhjNztzdHJva2Utd2lkdGg6MCIvPjxwYXRoIGQ9Im0yOTEgMjk5LTEwNSA4OSAxMTcgNDgtMTItMTM3eiIgZGF0YS1uYW1lPSJncmF5IGNlbnRlciIgc3R5bGU9ImZpbGw6I2RjZTNlYztzdHJva2Utd2lkdGg6MCIvPjwvc3ZnPg== +[codecov-badge]: https://codecov.io/gh/spglib/spglib/graph/badge.svg?token=G91xAWu1JT +[codecov-link]: https://codecov.io/gh/spglib/spglib +[conda-badge]: https://img.shields.io/conda/vn/conda-forge/spglib +[conda-downloads]: https://img.shields.io/conda/d/conda-forge/spglib?label=conda +[conda-link]: https://anaconda.org/conda-forge/spglib +[fedora-badge]: https://img.shields.io/fedora/v/spglib +[fedora-link]: https://src.fedoraproject.org/rpms/spglib +[license-badge]: https://img.shields.io/github/license/spglib/spglib +[pypi-badge]: https://img.shields.io/pypi/v/spglib +[pypi-downloads]: https://img.shields.io/pypi/dm/spglib?label=pypi +[pypi-link]: https://pypi.python.org/pypi/spglib +[python-version]: https://img.shields.io/pypi/pyversions/spglib +[release-badge]: https://img.shields.io/github/v/release/spglib/spglib +[release-link]: https://github.com/spglib/spglib/releases +[rtd-badge]: https://img.shields.io/readthedocs/spglib +[rtd-link]: https://spglib.readthedocs.io/en/latest/?badge=latest From aa56b28dd78336986fd6d82e4ae5230eb92392ef Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Sat, 20 Jan 2024 13:52:43 +0100 Subject: [PATCH 7/8] Change step_test matrix - Reduce python tests: Only minimal + latest + future python version - Fix os toolchains Signed-off-by: Cristian Le --- .github/workflows/step_test.yaml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index 78171c3d3..cab011b31 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -25,22 +25,26 @@ jobs: strategy: fail-fast: false matrix: - toolchain: [ gcc, llvm, intel, windows, macos ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + toolchain: [ gcc, llvm, intel ] + python-version: [ "3.8", "3.x", "3.13" ] include: - os: windows-2019 toolchain: windows + python-version: "3.x" - os: macos-11 toolchain: macos + python-version: "3.x" - os: windows-latest toolchain: windows + python-version: "3.x" experimental: true - os: macos-latest toolchain: macos + python-version: "3.x" experimental: true - - python-version: "3.12" + - python-version: "3.13" experimental: true - pip-extra-flags: --pre + pre: true steps: - name: Enable msvc toolchain on windows uses: ilammy/msvc-dev-cmd@v1 @@ -64,15 +68,18 @@ jobs: # Mimic Ubuntu in order to be able to download experimental python run: | echo -en 'DISTRIB_ID=Ubuntu\nDISTRIB_RELEASE=22.04\nDISTRIB_CODENAME=jammy\nDISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"' >> /etc/lsb-release - if: ${{ !matrix.os && matrix.experimental }} + if: ${{ !matrix.os && matrix.pre }} - name: Setup python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - allow-prereleases: true + allow-prereleases: ${{ matrix.pre || false }} # TODO: Replace with editable install once configure presets are available - name: Install python bindings - run: python3 -m pip install ${{ matrix.pip-extra-flags }} .[test] + run: > + python3 -m pip install + ${{ matrix.pre && '--pre' }} + .[test] - uses: lukka/get-cmake@latest - name: Run CMake configuration for ${{ matrix.toolchain }} toolchain uses: lukka/run-cmake@v10.3 From 045c479c883d4f54fd0cc6f9c914ecb2d29c1ba9 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Sat, 20 Jan 2024 14:21:33 +0100 Subject: [PATCH 8/8] Disable `windows-2019` and python --pre to be investigated later Signed-off-by: Cristian Le --- .github/workflows/step_test.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/step_test.yaml b/.github/workflows/step_test.yaml index cab011b31..b98f2c98a 100644 --- a/.github/workflows/step_test.yaml +++ b/.github/workflows/step_test.yaml @@ -26,11 +26,11 @@ jobs: fail-fast: false matrix: toolchain: [ gcc, llvm, intel ] - python-version: [ "3.8", "3.x", "3.13" ] + python-version: [ "3.8", "3.x" ] include: - - os: windows-2019 - toolchain: windows - python-version: "3.x" +# - os: windows-2019 +# toolchain: windows +# python-version: "3.x" - os: macos-11 toolchain: macos python-version: "3.x" @@ -42,9 +42,9 @@ jobs: toolchain: macos python-version: "3.x" experimental: true - - python-version: "3.13" - experimental: true - pre: true +# - python-version: "3.13" +# experimental: true +# pre: true steps: - name: Enable msvc toolchain on windows uses: ilammy/msvc-dev-cmd@v1