diff options
| -rw-r--r-- | .github/workflows/wheels.yml | 13 | ||||
| -rw-r--r-- | doc/source/dev/development_workflow.rst | 15 |
2 files changed, 27 insertions, 1 deletions
diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 2e7caaa2c..1f1677148 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -6,6 +6,12 @@ # in the get_commit_message job. Be sure to include [wheel build] in your commit # message to trigger the build. All files related to wheel building are located # at tools/wheels/ +# Alternatively, you can add labels to the pull request in order to trigger wheel +# builds. +# The labels that trigger builds are: +# 36 - Build(for changes to the building process, +# 03 - Maintenance(for dependency upgrades), and +# 14 - Release(ensure wheels build before release) name: Wheel builder on: @@ -19,6 +25,7 @@ on: - cron: "42 1 * * 4" push: pull_request: + types: [labeled, opened, synchronize, reopened] workflow_dispatch: concurrency: @@ -53,6 +60,10 @@ jobs: contains(needs.get_commit_message.outputs.message, '[wheel build]') || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || + (github.event_name == 'pull_request' && + (contains(github.event.pull_request.labels.*.name, '36 - Build') || + contains(github.event.pull_request.labels.*.name, '03 - Maintenance') || + contains(github.event.pull_request.labels.*.name, '14 - Release'))) || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && ( ! endsWith(github.ref, 'dev0'))) runs-on: ${{ matrix.buildplat[0] }} strategy: @@ -71,7 +82,7 @@ jobs: # manylinux pypy builds - buildplat: [ubuntu-20.04, manylinux_x86_64] python: "pp38" - + # TODO: Uncomment and bump cibuildwheel version # once cibuildwheel adds PyPy 7.3.8 # macOS pypy builds diff --git a/doc/source/dev/development_workflow.rst b/doc/source/dev/development_workflow.rst index 38f047ec0..0e46341b9 100644 --- a/doc/source/dev/development_workflow.rst +++ b/doc/source/dev/development_workflow.rst @@ -209,6 +209,21 @@ CircleCI supports ``ci skip`` but has no command to skip only CircleCI. Azure chooses to still run jobs with skip commands on PRs, the jobs only get skipped on merging to master. +Test building wheels +``````````````````````````````````````` + +Numpy currently uses `cibuildwheel <https://https://cibuildwheel.readthedocs.io/en/stable/>`_ +in order to build wheels through continuous integration services. To save resources, the +cibuildwheel wheel builders are not run by default on every single PR or commit to main. + +If you would like to test that your pull request do not break the wheel builders, +you may either append ``[wheel build]`` to the end of the commit message of the commit +or add one of the following labels to the pull request(if you have the permissions to do so):: + + ``36 - Build``: for pull requests changing build processes/configurations + ``03 - Maintenance``: for pull requests upgrading dependencies + ``14 - Release``: for pull requests preparing for a release + .. _workflow_mailing_list: |
