@@ -8,28 +8,40 @@ Building distributions
88See the [documentation](https://gregoryszorc.com/docs/python-build-standalone/main/building.html)
99for instructions on building distributions locally.
1010
11- CI labels
12- =========
13- By default, submitting a pull request triggers a complete build of all
14- distributions in CI, which can be time-consuming.
11+ Pull request labels
12+ ===================
13+ By default, pull requests build a small subset of targets defined in
14+ ``pr-targets.yaml ``. Pushes to ``main `` build the full matrix from
15+ ``ci-targets.yaml ``.
1516
16- To conserve CI resources and reduce build times, you can limit the matrix of
17- distributions built by applying specific labels to your pull request. Only
18- distributions matching the specified labels will be built.
17+ Pull request labels can be used to change what CI builds:
1918
20- The following label prefixes can be used to customize the build matrix:
19+ * ``platform:<value> `` filters the selected targets by platform.
20+ * ``arch:<value> `` filters the selected targets by architecture.
21+ * ``libc:<value> `` filters the selected targets by libc.
22+ * ``python:<value> `` filters the selected Python versions.
23+ * ``build:<value> `` filters the selected build options.
2124
22- * `platform `
23- * `python `
24- * `build `
25- * `arch `
26- * `libc `
25+ The ``:all `` labels expand only their own dimension:
2726
28- To bypass CI entirely for changes that do not affect the build (such as
29- documentation updates), use the `ci:skip ` label.
27+ * ``platform:all `` expands the selected platforms.
28+ * ``arch:all `` expands the selected architectures.
29+ * ``libc:all `` expands the selected libc variants.
30+ * ``python:all `` expands the selected Python versions.
31+ * ``build:all `` expands the selected build options.
3032
31- Please utilize these tags when appropriate for your changes to minimize CI
32- resource consumption.
33+ Use ``ci:all-targets `` to build the full matrix from ``ci-targets.yaml ``.
34+
35+ Examples:
36+
37+ * ``platform:linux `` builds only the Linux targets from ``pr-targets.yaml ``.
38+ * ``python:3.13 `` builds the default targets with Python 3.13.
39+ * ``platform:linux,arch:all,libc:all,python:all,build:all `` builds the full
40+ Linux matrix.
41+
42+ To bypass CI entirely for changes that do not affect the build, use the
43+ ``ci:skip `` label. The ``documentation `` label is treated the same way. To run
44+ a dry-run build matrix, use ``ci:dry-run ``.
3345
3446Releases
3547========
0 commit comments