summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/wheels.yml13
-rw-r--r--doc/source/dev/development_workflow.rst15
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: