TST: test nightly wheels against CPython 3.13 (GIL flavor) #326
Workflow file for this run
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: Wheel building | |
on: | |
schedule: | |
# run every day at 4am UTC | |
- cron: '0 4 * * *' | |
workflow_dispatch: | |
push: | |
pull_request: | |
permissions: | |
contents: read | |
jobs: | |
build_and_publish: | |
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish.yml@v1 | |
if: (github.repository == 'liberfa/pyerfa') | |
with: | |
upload_to_pypi: ${{ startsWith(github.ref, 'refs/tags/v') && !endsWith(github.ref, '.dev') && github.event_name == 'push' }} | |
upload_to_anaconda: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }} | |
anaconda_user: liberfa | |
anaconda_package: pyerfa | |
anaconda_keep_n_latest: 10 | |
# For nightly wheels as well as when building with the 'Build all wheels' label, we disable | |
# the build isolation and explicitly install the latest developer version of numpy as well as | |
# the latest stable versions of all other build-time dependencies. | |
# | |
# pre-release pythons are included for testing but no wheels will be produced | |
# specifically for these targets since this package uses Py_Limited_API | |
# Do not hesitate to turn this setting off if testing fail for external reasons | |
# (e.g. numpy isn't currently compatible with the latest python pre-release) | |
env: | | |
CIBW_BEFORE_BUILD: '${{ ((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request') && 'pip install setuptools setuptools_scm jinja2 numpy') || '' }}' | |
CIBW_BUILD_FRONTEND: '${{ ((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request') && 'pip; args: --no-build-isolation') || 'build' }}' | |
CIBW_PRERELEASE_PYTHONS: '${{ ((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request')) }}' | |
CIBW_ENVIRONMENT: '${{ ((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request') && 'PIP_PRE=1 PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple') || '' }}' | |
test_extras: test | |
test_command: pytest --pyargs erfa | |
targets: | | |
# Linux wheels | |
- cp3*-manylinux_x86_64 | |
- cp3*-musllinux_x86_64 | |
- cp3*-manylinux_aarch64 | |
- pp39-manylinux_x86_64 | |
# MacOS X wheels - we deliberately do not build universal2 wheels. | |
# Note that the arm64 wheels are not actually tested so we | |
# rely on local manual testing of these to make sure they are ok. | |
- cp3*macosx_x86_64 | |
- cp3*macosx_arm64 | |
- pp39-macosx_x86_64 | |
# Windows wheels | |
- cp3*win32 | |
- cp3*win_amd64 | |
- pp39-win_amd64 | |
secrets: | |
pypi_token: ${{ secrets.pypi_token }} | |
anaconda_token: ${{ secrets.anaconda_token }} |