[fcelib][Python] rewrite version check, reduce fluff, refactor api #70
This file contains hidden or 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: wheel | |
| on: | |
| [push, pull_request, workflow_dispatch] | |
| jobs: | |
| build_wheels: | |
| name: Build wheels on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| # https://github.com/actions/runner-images | |
| # arm64: macos-14, macos-15 | |
| # x86_64: macos-13 | |
| os: [ubuntu-latest, windows-latest, macos-13, macos-14, macos-15] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build wheels | |
| # https://github.com/pypa/cibuildwheel/releases | |
| uses: pypa/cibuildwheel@v3.1.0 | |
| env: | |
| CIBW_ARCHS_WINDOWS: "AMD64 x86" | |
| CIBW_FREE_THREADED_SUPPORT: 1 | |
| with: | |
| package-dir: "." | |
| output-dir: "./wheelhouse" | |
| config-file: "./pyproject.toml" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| # name: fcecodec-cp-wheels-${{ matrix.os }} #-${{ strategy.job-index }} | |
| name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |
| path: ./wheelhouse/*.whl | |
| make_sdist: | |
| needs: build_wheels | |
| name: Make SDist | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Optional, use if you use setuptools_scm | |
| fetch-tags: true # Optional, use if you use setuptools_scm | |
| - name: Build SDist | |
| run: pipx run build --sdist | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: cibw-sdist | |
| path: dist/*.tar.gz | |
| upload_all: | |
| needs: [build_wheels, make_sdist] | |
| name: Upload all | |
| environment: release | |
| permissions: | |
| id-token: write | |
| runs-on: ubuntu-latest | |
| # if: github.event_name == 'release' && github.event.action == 'published' | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/1') | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| pattern: cibw-* | |
| path: dist | |
| merge-multiple: true | |
| - uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| # Use Trusted Publisher feature: | |
| # https://docs.pypi.org/trusted-publishers/ | |
| # so no use of PYPI_API_TOKEN | |
| #password: ${{ secrets.PYPI_API_TOKEN }} | |
| # | |
| # Avoid race condition when using multiple CIs | |
| skip-existing: true | |
| verbose: true |