From 90ae9f121109215832469dcf3a8122fd39515d9a Mon Sep 17 00:00:00 2001 From: Julien Stephan Date: Fri, 21 Aug 2026 14:42:20 +0200 Subject: [PATCH 1/5] Add GitHub Actions to Dependabot updates Updated Dependabot configuration to include GitHub Actions. --- .github/dependabot.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..2bfe25aaa --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" From a0061a7568876ac937cc975153bd32bbea6f4c00 Mon Sep 17 00:00:00 2001 From: Julien Stephan Date: Fri, 21 Aug 2026 15:03:09 +0200 Subject: [PATCH 2/5] Add groups configuration for GitHub Actions --- .github/dependabot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2bfe25aaa..787e7ee15 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,3 +4,7 @@ updates: directory: "/" schedule: interval: "weekly" + groups: + github-actions: + patterns: + - "*" From 95097f164e0b46fe739950800edef4afebfb68f2 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Tue, 25 Aug 2026 09:01:06 -0400 Subject: [PATCH 3/5] workflows: build-polars-runtime: don't build on dependabot upgrade Signed-off-by: Trevor Gamblin --- .github/workflows/build-polars-runtime.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-polars-runtime.yml b/.github/workflows/build-polars-runtime.yml index 59a85b0fe..db889c53b 100644 --- a/.github/workflows/build-polars-runtime.yml +++ b/.github/workflows/build-polars-runtime.yml @@ -49,6 +49,9 @@ jobs: # The build_wheels' "Test wheel" step needs this polars package installed for # `import polars` to work. base-package: + # Dependabot action bumps shouldn't burn a multi-hour riscv64 build; humans + # editing this workflow still trigger it via the pull_request paths filter. + if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]' runs-on: ubuntu-latest strategy: fail-fast: false From da276832e44a49c7b6ac678fb3c9448f6a0c7e96 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Tue, 25 Aug 2026 09:01:19 -0400 Subject: [PATCH 4/5] workflows: build-torch: don't build on dependabot upgrade Signed-off-by: Trevor Gamblin --- .github/workflows/build-torch.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-torch.yml b/.github/workflows/build-torch.yml index 9c436f5e2..4549ab381 100644 --- a/.github/workflows/build-torch.yml +++ b/.github/workflows/build-torch.yml @@ -35,6 +35,9 @@ env: jobs: docker-builds: + # Dependabot action bumps shouldn't burn a multi-hour riscv64 build; humans + # editing this workflow still trigger it via the pull_request paths filter. + if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]' runs-on: ubuntu-24.04 timeout-minutes: 360 # 6h permissions: From bc36a575aae851632a9f94026c36f40e801f674d Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Wed, 2 Sep 2026 10:18:32 +0200 Subject: [PATCH 5/5] Skip all build-*.yml workflows on pull_request from dependabot --- .github/workflows/_setup.yml | 14 ++++++++++++++ .github/workflows/build-amazon-ion.yml | 6 +++++- .github/workflows/build-apache-tvm-ffi.yml | 8 ++++++-- .github/workflows/build-array-record.yml | 8 ++++++-- .github/workflows/build-arro3-core.yml | 6 +++++- .github/workflows/build-astropy.yml | 8 +++++--- .github/workflows/build-asyncpg.yml | 6 +++++- .github/workflows/build-awscrt.yml | 6 +++++- .github/workflows/build-bcrypt.yml | 12 +++++++----- .github/workflows/build-biopython.yml | 6 +++++- .github/workflows/build-bitarray.yml | 6 +++++- .github/workflows/build-black.yml | 6 +++++- .github/workflows/build-blis.yml | 6 +++++- .github/workflows/build-bluetooth-data-tools.yml | 6 +++++- .github/workflows/build-bottleneck.yml | 8 +++++--- .github/workflows/build-brotli.yml | 6 +++++- .github/workflows/build-brotlicffi.yml | 6 +++++- .github/workflows/build-burner-redis.yml | 6 +++++- .github/workflows/build-cachebox.yml | 6 +++++- .github/workflows/build-caio.yml | 6 +++++- .github/workflows/build-cbor2.yml | 6 +++++- .github/workflows/build-cffi.yml | 8 ++++++-- .github/workflows/build-cftime.yml | 6 +++++- .github/workflows/build-chromadb.yml | 6 +++++- .github/workflows/build-ciso8601.yml | 6 +++++- .github/workflows/build-citiespy.yml | 6 +++++- .github/workflows/build-clarabel.yml | 6 +++++- .github/workflows/build-clickhouse-connect.yml | 6 +++++- .github/workflows/build-clickhouse-driver.yml | 6 +++++- .github/workflows/build-confluent-kafka.yml | 6 +++++- .github/workflows/build-cramjam.yml | 6 +++++- .github/workflows/build-crc32c.yml | 6 +++++- .github/workflows/build-crcmod-plus.yml | 6 +++++- .github/workflows/build-cryptography.yml | 10 +++++++--- .github/workflows/build-cymem.yml | 6 +++++- .github/workflows/build-cython.yml | 6 +++++- .github/workflows/build-datefinder.yml | 6 +++++- .github/workflows/build-dbt-extractor.yml | 6 +++++- .github/workflows/build-ddtrace.yml | 6 +++++- .github/workflows/build-debugpy.yml | 6 +++++- .github/workflows/build-deltalake.yml | 6 +++++- .github/workflows/build-djlint.yml | 6 +++++- .github/workflows/build-dlib-bin.yml | 6 +++++- .github/workflows/build-docling-parse.yml | 7 +++++-- .github/workflows/build-duckdb.yml | 6 +++++- .github/workflows/build-dulwich.yml | 6 +++++- .github/workflows/build-editdistance.yml | 6 +++++- .github/workflows/build-ezdxf.yml | 6 +++++- .github/workflows/build-faiss-cpu.yml | 11 ++++++----- .github/workflows/build-fastavro.yml | 6 +++++- .github/workflows/build-fastparquet.yml | 6 +++++- .github/workflows/build-fastuuid.yml | 14 ++++++-------- .github/workflows/build-fonttools.yml | 6 +++++- .github/workflows/build-gevent.yml | 6 +++++- .github/workflows/build-geventhttpclient.yml | 6 +++++- .github/workflows/build-google-crc32c.yml | 6 +++++- .github/workflows/build-google-re2.yml | 6 +++++- .github/workflows/build-granian.yml | 6 +++++- .github/workflows/build-grimp.yml | 6 +++++- .github/workflows/build-grpcio.yml | 6 +++++- .github/workflows/build-h3.yml | 6 +++++- .github/workflows/build-h5py.yml | 6 +++++- .github/workflows/build-habluetooth.yml | 6 +++++- .github/workflows/build-hf-xet.yml | 8 +++++--- .github/workflows/build-highspy.yml | 6 +++++- .github/workflows/build-hiredis.yml | 6 +++++- .github/workflows/build-httpr.yml | 6 +++++- .github/workflows/build-hypothesis.yml | 6 +++++- .github/workflows/build-ijson.yml | 6 +++++- .github/workflows/build-inflate64.yml | 6 +++++- .github/workflows/build-jellyfish.yml | 6 +++++- .github/workflows/build-jpype1.yml | 6 +++++- .github/workflows/build-lazy-object-proxy.yml | 6 +++++- .github/workflows/build-levenshtein.yml | 8 ++++++-- .github/workflows/build-lightgbm.yml | 8 ++++++-- .github/workflows/build-litellm.yml | 16 ++++++---------- .github/workflows/build-lmdb.yml | 7 +++++-- .../workflows/build-lmnr-claude-code-proxy.yml | 6 +++++- .github/workflows/build-lz4.yml | 6 +++++- .github/workflows/build-magika.yml | 8 ++++++-- .github/workflows/build-marisa-trie.yml | 6 +++++- .github/workflows/build-matplotlib.yml | 8 ++++++-- .github/workflows/build-maxminddb.yml | 6 +++++- .github/workflows/build-memray.yml | 7 ++++++- .github/workflows/build-mmh3.yml | 6 +++++- .github/workflows/build-murmurhash.yml | 6 +++++- .github/workflows/build-mypy.yml | 6 +++++- .../workflows/build-mysql-connector-python.yml | 7 ++++++- .github/workflows/build-ndindex.yml | 8 ++++++-- .github/workflows/build-netcdf4.yml | 6 +++++- .github/workflows/build-newrelic.yml | 6 +++++- .github/workflows/build-numcodecs.yml | 6 +++++- .github/workflows/build-numexpr.yml | 6 +++++- .github/workflows/build-numpy.yml | 6 +++++- .github/workflows/build-onnx.yml | 6 +++++- .github/workflows/build-onnxruntime.yml | 6 +++++- .../workflows/build-opencv-python-headless.yml | 6 +++++- .github/workflows/build-opencv-python.yml | 6 +++++- .github/workflows/build-oracledb.yml | 6 +++++- .github/workflows/build-orjson.yml | 6 +++++- .github/workflows/build-ormsgpack.yml | 6 +++++- .github/workflows/build-pglast.yml | 6 +++++- .github/workflows/build-pillow-heif.yml | 6 +++++- .github/workflows/build-pillow.yml | 6 +++++- .github/workflows/build-polars-runtime.yml | 13 ++++++------- .github/workflows/build-polyleven.yml | 6 +++++- .github/workflows/build-preshed.yml | 6 +++++- .github/workflows/build-primp.yml | 6 +++++- .github/workflows/build-protobuf.yml | 8 ++++++-- .github/workflows/build-psygnal.yml | 6 +++++- .github/workflows/build-py-spy.yml | 8 ++++++-- .github/workflows/build-pyarrow.yml | 6 +++++- .github/workflows/build-pybcj.yml | 6 +++++- .github/workflows/build-pycares.yml | 6 +++++- .github/workflows/build-pyclipper.yml | 6 +++++- .github/workflows/build-pycryptodome.yml | 10 ++++++---- .github/workflows/build-pycryptodomex.yml | 10 ++++++---- .github/workflows/build-pygraphviz.yml | 7 ++++++- .github/workflows/build-pyiceberg.yml | 6 +++++- .github/workflows/build-pyinstaller.yml | 8 ++++++-- .github/workflows/build-pyinstrument.yml | 8 +++++--- .github/workflows/build-pymongo.yml | 6 +++++- .github/workflows/build-pymssql.yml | 6 +++++- .github/workflows/build-pymupdf-layout.yml | 6 +++++- .github/workflows/build-pymupdf.yml | 6 +++++- .github/workflows/build-pyodbc.yml | 6 +++++- .github/workflows/build-pyogrio.yml | 8 ++++++-- .github/workflows/build-pyppmd.yml | 6 +++++- .github/workflows/build-pyproj.yml | 6 +++++- .github/workflows/build-pyroaring.yml | 6 +++++- .github/workflows/build-pyroscope-io.yml | 6 +++++- .github/workflows/build-pyrsistent.yml | 6 +++++- .github/workflows/build-python-bidi.yml | 6 +++++- .github/workflows/build-python-rapidjson.yml | 6 +++++- .github/workflows/build-pytokens.yml | 6 +++++- .github/workflows/build-pywavelets.yml | 6 +++++- .github/workflows/build-ray.yml | 9 +++++++-- .github/workflows/build-rdkit.yml | 6 +++++- .github/workflows/build-regress.yml | 6 +++++- .github/workflows/build-rtree.yml | 6 +++++- .github/workflows/build-ruamel-yaml-clib.yml | 6 +++++- .github/workflows/build-scikit-learn.yml | 7 ++++++- .github/workflows/build-scipy.yml | 6 +++++- .github/workflows/build-scs.yml | 7 ++++++- .github/workflows/build-semgrep.yml | 6 +++++- .github/workflows/build-sentencepiece.yml | 6 +++++- .github/workflows/build-shapely.yml | 6 +++++- .github/workflows/build-simplejson.yml | 6 +++++- .github/workflows/build-simsimd.yml | 7 ++++++- .../build-snowflake-connector-python.yml | 6 +++++- .github/workflows/build-soxr.yml | 6 +++++- .github/workflows/build-spacy.yml | 6 +++++- .github/workflows/build-sqlalchemy.yml | 8 ++++++-- .github/workflows/build-srsly.yml | 6 +++++- .github/workflows/build-statsig-python-core.yml | 6 +++++- .github/workflows/build-statsmodels.yml | 6 +++++- .github/workflows/build-temporalio.yml | 6 +++++- .github/workflows/build-textual-speedups.yml | 6 +++++- .github/workflows/build-thinc.yml | 6 +++++- .github/workflows/build-thrift.yml | 6 +++++- .github/workflows/build-tibs.yml | 6 +++++- .github/workflows/build-tiktoken.yml | 6 +++++- .github/workflows/build-time-machine.yml | 6 +++++- .github/workflows/build-tomli.yml | 6 +++++- .github/workflows/build-torch.yml | 10 ++++++---- .github/workflows/build-torchaudio.yml | 6 +++++- .github/workflows/build-tornado.yml | 6 +++++- .github/workflows/build-tree-sitter-bash.yml | 10 +++++----- .github/workflows/build-tree-sitter-c.yml | 10 +++++----- .github/workflows/build-tree-sitter-cpp.yml | 10 +++++----- .github/workflows/build-tree-sitter-go.yml | 10 +++++----- .../workflows/build-tree-sitter-javascript.yml | 10 +++++----- .../build-tree-sitter-language-pack.yml | 6 +++++- .../workflows/build-tree-sitter-languages.yml | 6 +++++- .github/workflows/build-tree-sitter-python.yml | 10 +++++----- .github/workflows/build-tree-sitter-rust.yml | 10 +++++----- .github/workflows/build-tzfpy.yml | 6 +++++- .github/workflows/build-uuid-utils.yml | 6 +++++- .github/workflows/build-wandb.yml | 6 +++++- .github/workflows/build-xattr.yml | 6 +++++- .github/workflows/build-xgboost.yml | 7 ++++++- .github/workflows/build-xgrammar.yml | 6 +++++- .github/workflows/build-yappi.yml | 6 +++++- .github/workflows/build-zope-interface.yml | 6 +++++- .github/workflows/build-zopfli.yml | 10 +++++----- .github/workflows/build-zstandard.yml | 9 +++++---- .github/workflows/docs.yml | 9 ++++++++- 187 files changed, 980 insertions(+), 286 deletions(-) create mode 100644 .github/workflows/_setup.yml diff --git a/.github/workflows/_setup.yml b/.github/workflows/_setup.yml new file mode 100644 index 000000000..6be91263a --- /dev/null +++ b/.github/workflows/_setup.yml @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2026 The RISE Project +# SPDX-License-Identifier: MIT + +name: Build workflow setup + +on: + workflow_call: + +jobs: + setup: + if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]' + runs-on: ubuntu-latest + steps: + - run: true diff --git a/.github/workflows/build-amazon-ion.yml b/.github/workflows/build-amazon-ion.yml index 8a0a4ffe2..366d6c5bc 100644 --- a/.github/workflows/build-amazon-ion.yml +++ b/.github/workflows/build-amazon-ion.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build amazon-ion ${{ inputs.version || '0.14.6' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -101,7 +105,7 @@ jobs: publish: name: Publish amazon-ion ${{ inputs.version || '0.14.6' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-apache-tvm-ffi.yml b/.github/workflows/build-apache-tvm-ffi.yml index d5c40aa82..457e08fdc 100644 --- a/.github/workflows/build-apache-tvm-ffi.yml +++ b/.github/workflows/build-apache-tvm-ffi.yml @@ -33,7 +33,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_sdist: + needs: [setup] # The sdist is architecture-independent: it just packages the source tree, # the vendored submodules (dlpack, libbacktrace) and a setuptools-scm-derived # _version.py. Build it once on x86 instead of burning a scarce riscv runner @@ -83,7 +87,7 @@ jobs: if-no-files-found: error build_wheels: - needs: build_sdist + needs: [setup, build_sdist] name: Build apache-tvm-ffi ${{ inputs.version || '0.1.12' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv permissions: @@ -175,7 +179,7 @@ jobs: publish: name: Publish apache-tvm-ffi ${{ inputs.version || '0.1.12' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-array-record.yml b/.github/workflows/build-array-record.yml index bacfee013..1606d9911 100644 --- a/.github/workflows/build-array-record.yml +++ b/.github/workflows/build-array-record.yml @@ -38,7 +38,11 @@ env: RULES_JAVA_VERSION: '7.6.5' jobs: + setup: + uses: $/.github/workflows/_setup.yml + bazel: + needs: [setup] name: Bootstrap bazel (riscv64) runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -107,7 +111,7 @@ jobs: name: Build array-record ${{ inputs.version || '0.8.3' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 - needs: [bazel] + needs: [setup, bazel] strategy: fail-fast: false @@ -308,7 +312,7 @@ jobs: publish: name: Publish array-record ${{ inputs.version || '0.8.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-arro3-core.yml b/.github/workflows/build-arro3-core.yml index fd28d4cc5..84c8a4e48 100644 --- a/.github/workflows/build-arro3-core.yml +++ b/.github/workflows/build-arro3-core.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build arro3-core ${{ inputs.version || '0.8.1' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -299,7 +303,7 @@ jobs: publish: name: Publish arro3-core ${{ inputs.version || '0.8.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-astropy.yml b/.github/workflows/build-astropy.yml index 15fa5fa3e..7b4aef5e0 100644 --- a/.github/workflows/build-astropy.yml +++ b/.github/workflows/build-astropy.yml @@ -33,9 +33,11 @@ env: EXTENSION_HELPERS_PY_LIMITED_API: 'cp311' jobs: - # Upstream also builds musllinux_x86_64, dropped here: numpy is a build and a - # runtime requirement and we publish no musllinux_riscv64 numpy wheel. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build astropy ${{ inputs.version || '8.0.1' }} cp311-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -98,7 +100,7 @@ jobs: publish: name: Publish astropy ${{ inputs.version || '8.0.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-asyncpg.yml b/.github/workflows/build-asyncpg.yml index 8a4bb4c02..4f4d3270a 100644 --- a/.github/workflows/build-asyncpg.yml +++ b/.github/workflows/build-asyncpg.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build asyncpg ${{ inputs.version || '0.31.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -80,7 +84,7 @@ jobs: publish: name: Publish asyncpg ${{ inputs.version || '0.31.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-awscrt.yml b/.github/workflows/build-awscrt.yml index 5932975d2..149538a03 100644 --- a/.github/workflows/build-awscrt.yml +++ b/.github/workflows/build-awscrt.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build awscrt ${{ inputs.version || '0.36.2' }} ${{ matrix.wheel_tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -103,7 +107,7 @@ jobs: publish: name: Publish awscrt ${{ inputs.version || '0.36.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-bcrypt.yml b/.github/workflows/build-bcrypt.yml index 3b73fa5c1..fcc75986d 100644 --- a/.github/workflows/build-bcrypt.yml +++ b/.github/workflows/build-bcrypt.yml @@ -33,9 +33,11 @@ env: ABI3_FLOOR: cp312 jobs: - # Build the sdist ourselves from the tag (never the prebuilt PyPI sdist); it's - # arch-independent, so build it once on x86 (gotcha 4). + setup: + uses: $/.github/workflows/_setup.yml + build_sdist: + needs: [setup] name: Build bcrypt ${{ inputs.version || '5.0.0' }} sdist runs-on: ubuntu-latest outputs: @@ -81,7 +83,7 @@ jobs: # One cp312-abi3 wheel: cibuildwheel builds it once and reuses+tests it on # cp313/cp314 (find_compatible_wheel), so all three tags share one wheel. build_abi3: - needs: [build_sdist] + needs: [setup, build_sdist] name: Build bcrypt ${{ inputs.version || '5.0.0' }} cp312-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -121,7 +123,7 @@ jobs: # Free-threaded wheel: per-interpreter, no abi3 (pyo3 disables abi3 under # Py_GIL_DISABLED). Only cp314t - the riscv64 image has no cp313t interpreter. build_freethreaded: - needs: [build_sdist] + needs: [setup, build_sdist] name: Build bcrypt ${{ inputs.version || '5.0.0' }} cp314t-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -155,7 +157,7 @@ jobs: publish: name: Publish bcrypt ${{ inputs.version || '5.0.0' }} to GitLab - needs: [build_sdist, build_abi3, build_freethreaded] + needs: [setup, build_sdist, build_abi3, build_freethreaded] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-biopython.yml b/.github/workflows/build-biopython.yml index c24ece572..4147798bd 100644 --- a/.github/workflows/build-biopython.yml +++ b/.github/workflows/build-biopython.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build biopython ${{ inputs.version || '1.88' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -92,7 +96,7 @@ jobs: publish: name: Publish biopython ${{ inputs.version || '1.88' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-bitarray.yml b/.github/workflows/build-bitarray.yml index 0eff917ce..b3722bc8b 100644 --- a/.github/workflows/build-bitarray.yml +++ b/.github/workflows/build-bitarray.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build bitarray ${{ inputs.version || '3.10.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -76,7 +80,7 @@ jobs: publish: name: Publish bitarray ${{ inputs.version || '3.10.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-black.yml b/.github/workflows/build-black.yml index d1b844fec..68c7710ec 100644 --- a/.github/workflows/build-black.yml +++ b/.github/workflows/build-black.yml @@ -35,7 +35,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build black ${{ inputs.version || '26.5.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -69,7 +73,7 @@ jobs: publish: name: Publish black ${{ inputs.version || '26.5.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-blis.yml b/.github/workflows/build-blis.yml index 3ddf9d1ed..80326f86d 100644 --- a/.github/workflows/build-blis.yml +++ b/.github/workflows/build-blis.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build blis ${{ inputs.version || '1.3.3' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -83,7 +87,7 @@ jobs: publish: name: Publish blis ${{ inputs.version || '1.3.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-bluetooth-data-tools.yml b/.github/workflows/build-bluetooth-data-tools.yml index 375c66f38..9be5fa7ce 100644 --- a/.github/workflows/build-bluetooth-data-tools.yml +++ b/.github/workflows/build-bluetooth-data-tools.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build bluetooth-data-tools ${{ inputs.version || '1.29.21' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -83,7 +87,7 @@ jobs: publish: name: Publish bluetooth-data-tools ${{ inputs.version || '1.29.21' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-bottleneck.yml b/.github/workflows/build-bottleneck.yml index eaeb7d65b..0d3f93720 100644 --- a/.github/workflows/build-bottleneck.yml +++ b/.github/workflows/build-bottleneck.yml @@ -28,9 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # Upstream also builds musllinux, dropped here: numpy is a build and a runtime - # requirement and we publish no musllinux_riscv64 numpy wheel. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build bottleneck ${{ inputs.version || '1.6.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -99,7 +101,7 @@ jobs: publish: name: Publish bottleneck ${{ inputs.version || '1.6.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-brotli.yml b/.github/workflows/build-brotli.yml index ddc0467bf..9ace912e7 100644 --- a/.github/workflows/build-brotli.yml +++ b/.github/workflows/build-brotli.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build brotli ${{ inputs.version || '1.2.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -71,7 +75,7 @@ jobs: publish: name: Publish brotli ${{ inputs.version || '1.2.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-brotlicffi.yml b/.github/workflows/build-brotlicffi.yml index 7435df1b8..6ddda4d95 100644 --- a/.github/workflows/build-brotlicffi.yml +++ b/.github/workflows/build-brotlicffi.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build brotlicffi ${{ inputs.version || '1.2.0.2' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -106,7 +110,7 @@ jobs: publish: name: Publish brotlicffi ${{ inputs.version || '1.2.0.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-burner-redis.yml b/.github/workflows/build-burner-redis.yml index b2b77cd53..766e1ad61 100644 --- a/.github/workflows/build-burner-redis.yml +++ b/.github/workflows/build-burner-redis.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build burner-redis ${{ inputs.version || '0.1.7' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 240 @@ -111,7 +115,7 @@ jobs: publish: name: Publish burner-redis ${{ inputs.version || '0.1.7' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cachebox.yml b/.github/workflows/build-cachebox.yml index cd650d85f..18b64f4e0 100644 --- a/.github/workflows/build-cachebox.yml +++ b/.github/workflows/build-cachebox.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build cachebox ${{ inputs.version || '6.2.5' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -77,7 +81,7 @@ jobs: publish: name: Publish cachebox ${{ inputs.version || '6.2.5' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-caio.yml b/.github/workflows/build-caio.yml index fef082fb1..eb8348eea 100644 --- a/.github/workflows/build-caio.yml +++ b/.github/workflows/build-caio.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build caio ${{ inputs.version || '0.12.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -95,7 +99,7 @@ jobs: publish: name: Publish caio ${{ inputs.version || '0.12.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cbor2.yml b/.github/workflows/build-cbor2.yml index e8118a026..046c22fdf 100644 --- a/.github/workflows/build-cbor2.yml +++ b/.github/workflows/build-cbor2.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build cbor2 ${{ inputs.version || '6.1.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -70,7 +74,7 @@ jobs: publish: name: Publish cbor2 ${{ inputs.version || '6.1.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cffi.yml b/.github/workflows/build-cffi.yml index c496ef547..2cbca32ab 100644 --- a/.github/workflows/build-cffi.yml +++ b/.github/workflows/build-cffi.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + python_sdist: + needs: [setup] runs-on: ubuntu-24.04-riscv outputs: sdist_artifact_name: ${{ steps.build_sdist.outputs.sdist_artifact_name }} @@ -69,7 +73,7 @@ jobs: linux: # Unlike upstream, we depend only on python_sdist, since we don't need to # build a large matrix of targets - needs: [python_sdist] + needs: [setup, python_sdist] name: Build cffi ${{ inputs.version || '2.1.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -131,7 +135,7 @@ jobs: publish: name: Publish cffi ${{ inputs.version || '2.1.0' }} to GitLab - needs: [linux] + needs: [setup, linux] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cftime.yml b/.github/workflows/build-cftime.yml index 5d44d5eb5..dde4a9f5e 100644 --- a/.github/workflows/build-cftime.yml +++ b/.github/workflows/build-cftime.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build cftime ${{ inputs.version || '1.6.5' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -71,7 +75,7 @@ jobs: publish: name: Publish cftime ${{ inputs.version || '1.6.5' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-chromadb.yml b/.github/workflows/build-chromadb.yml index 77f2b0723..77c7a05c1 100644 --- a/.github/workflows/build-chromadb.yml +++ b/.github/workflows/build-chromadb.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build chromadb ${{ inputs.version || '1.5.9' }} cp39-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 @@ -140,7 +144,7 @@ jobs: publish: name: Publish chromadb ${{ inputs.version || '1.5.9' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ciso8601.yml b/.github/workflows/build-ciso8601.yml index e01b1d092..530678c6a 100644 --- a/.github/workflows/build-ciso8601.yml +++ b/.github/workflows/build-ciso8601.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build ciso8601 ${{ inputs.version || '2.3.3' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -69,7 +73,7 @@ jobs: publish: name: Publish ciso8601 ${{ inputs.version || '2.3.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-citiespy.yml b/.github/workflows/build-citiespy.yml index b36f5273f..ce2e7adfd 100644 --- a/.github/workflows/build-citiespy.yml +++ b/.github/workflows/build-citiespy.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build citiespy ${{ inputs.version || '0.6.13' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -104,7 +108,7 @@ jobs: publish: name: Publish citiespy ${{ inputs.version || '0.6.13' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-clarabel.yml b/.github/workflows/build-clarabel.yml index 7764c5c0c..8e3302556 100644 --- a/.github/workflows/build-clarabel.yml +++ b/.github/workflows/build-clarabel.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build clarabel ${{ inputs.version || '0.11.1' }} cp39-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -92,7 +96,7 @@ jobs: publish: name: Publish clarabel ${{ inputs.version || '0.11.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-clickhouse-connect.yml b/.github/workflows/build-clickhouse-connect.yml index edf04289c..5596fb6d5 100644 --- a/.github/workflows/build-clickhouse-connect.yml +++ b/.github/workflows/build-clickhouse-connect.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build clickhouse-connect ${{ inputs.version || '1.7.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -109,7 +113,7 @@ jobs: publish: name: Publish clickhouse-connect ${{ inputs.version || '1.7.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-clickhouse-driver.yml b/.github/workflows/build-clickhouse-driver.yml index 27de06bbe..d9ba8e11a 100644 --- a/.github/workflows/build-clickhouse-driver.yml +++ b/.github/workflows/build-clickhouse-driver.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build clickhouse-driver ${{ inputs.version || '0.2.11' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -92,7 +96,7 @@ jobs: publish: name: Publish clickhouse-driver ${{ inputs.version || '0.2.11' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-confluent-kafka.yml b/.github/workflows/build-confluent-kafka.yml index c11a4abd3..7724509cd 100644 --- a/.github/workflows/build-confluent-kafka.yml +++ b/.github/workflows/build-confluent-kafka.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build confluent-kafka ${{ inputs.version || '2.15.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -101,7 +105,7 @@ jobs: publish: name: Publish confluent-kafka ${{ inputs.version || '2.15.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cramjam.yml b/.github/workflows/build-cramjam.yml index 46cafc9cf..fa782494a 100644 --- a/.github/workflows/build-cramjam.yml +++ b/.github/workflows/build-cramjam.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build cramjam ${{ inputs.version || '2.12.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -86,7 +90,7 @@ jobs: publish: name: Publish cramjam ${{ inputs.version || '2.12.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-crc32c.yml b/.github/workflows/build-crc32c.yml index e4a8f4f93..0054f62fb 100644 --- a/.github/workflows/build-crc32c.yml +++ b/.github/workflows/build-crc32c.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build crc32c ${{ inputs.version || '2.9' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -76,7 +80,7 @@ jobs: publish: name: Publish crc32c ${{ inputs.version || '2.9' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-crcmod-plus.yml b/.github/workflows/build-crcmod-plus.yml index 53bba47d1..b9245b64c 100644 --- a/.github/workflows/build-crcmod-plus.yml +++ b/.github/workflows/build-crcmod-plus.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build crcmod-plus ${{ inputs.version || '2.3.1' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -87,7 +91,7 @@ jobs: publish: name: Publish crcmod-plus ${{ inputs.version || '2.3.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cryptography.yml b/.github/workflows/build-cryptography.yml index a00c7ea8f..14ef9fcc8 100644 --- a/.github/workflows/build-cryptography.yml +++ b/.github/workflows/build-cryptography.yml @@ -46,7 +46,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + sdist: + needs: [setup] name: Build cryptography ${{ inputs.version || '50.0.0' }} sdist runs-on: ubuntu-latest outputs: @@ -96,7 +100,7 @@ jobs: # ABI_VERSION/PY_LIMITED_API needed, since pyo3's plain `abi3` feature # already floors at whichever interpreter did the build. manylinux: - needs: [sdist] + needs: [setup, sdist] name: "${{ matrix.PYTHON.TAG }} for manylinux_riscv64" runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -189,7 +193,7 @@ jobs: # left unset, which upstream's own conftest treats as skip (external vector # repos - large downloads, a justified skip). test: - needs: [sdist, manylinux] + needs: [setup, sdist, manylinux] name: "${{ matrix.PYTHON.TAG }} tests" runs-on: ubuntu-24.04-riscv timeout-minutes: 30 @@ -244,7 +248,7 @@ jobs: publish: name: Publish cryptography ${{ inputs.version || '50.0.0' }} to GitLab - needs: [sdist, manylinux, test] + needs: [setup, sdist, manylinux, test] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cymem.yml b/.github/workflows/build-cymem.yml index dd7a2b3d4..d5af765a4 100644 --- a/.github/workflows/build-cymem.yml +++ b/.github/workflows/build-cymem.yml @@ -31,7 +31,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build cymem ${{ inputs.version || '2.0.13' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -91,7 +95,7 @@ jobs: publish: name: Publish cymem ${{ inputs.version || '2.0.13' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-cython.yml b/.github/workflows/build-cython.yml index b166dea7a..2928fc744 100644 --- a/.github/workflows/build-cython.yml +++ b/.github/workflows/build-cython.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build cython ${{ inputs.version || '3.3.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 600 @@ -86,7 +90,7 @@ jobs: publish: name: Publish cython ${{ inputs.version || '3.3.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-datefinder.yml b/.github/workflows/build-datefinder.yml index 0843af112..55ec4ee27 100644 --- a/.github/workflows/build-datefinder.yml +++ b/.github/workflows/build-datefinder.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build datefinder ${{ inputs.version || '1.0.0' }} cp39-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -75,7 +79,7 @@ jobs: publish: name: Publish datefinder ${{ inputs.version || '1.0.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-dbt-extractor.yml b/.github/workflows/build-dbt-extractor.yml index d9a46c07f..c63a16775 100644 --- a/.github/workflows/build-dbt-extractor.yml +++ b/.github/workflows/build-dbt-extractor.yml @@ -33,7 +33,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build dbt-extractor ${{ inputs.version || '0.6.0' }} cp39-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -100,7 +104,7 @@ jobs: publish: name: Publish dbt-extractor ${{ inputs.version || '0.6.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ddtrace.yml b/.github/workflows/build-ddtrace.yml index 6e6963c6c..24f50427a 100644 --- a/.github/workflows/build-ddtrace.yml +++ b/.github/workflows/build-ddtrace.yml @@ -31,7 +31,11 @@ env: LIBDDWAF_VERSION: '2.0.0' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build ddtrace ${{ inputs.version || '4.13.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -111,7 +115,7 @@ jobs: publish: name: Publish ddtrace ${{ inputs.version || '4.13.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-debugpy.yml b/.github/workflows/build-debugpy.yml index b5bd313eb..04052cb14 100644 --- a/.github/workflows/build-debugpy.yml +++ b/.github/workflows/build-debugpy.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build debugpy ${{ inputs.version || '1.8.21' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 300 @@ -98,7 +102,7 @@ jobs: publish: name: Publish debugpy ${{ inputs.version || '1.8.21' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-deltalake.yml b/.github/workflows/build-deltalake.yml index d28bf91f8..b7e1b7863 100644 --- a/.github/workflows/build-deltalake.yml +++ b/.github/workflows/build-deltalake.yml @@ -31,7 +31,11 @@ env: RUSTUP_MAX_RETRIES: 10 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build deltalake ${{ inputs.version || '1.6.3' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 @@ -110,7 +114,7 @@ jobs: publish: name: Publish deltalake ${{ inputs.version || '1.6.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-djlint.yml b/.github/workflows/build-djlint.yml index 1ae577aa8..4251a8483 100644 --- a/.github/workflows/build-djlint.yml +++ b/.github/workflows/build-djlint.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build djlint ${{ inputs.version || '1.44.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -79,7 +83,7 @@ jobs: publish: name: Publish djlint ${{ inputs.version || '1.44.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-dlib-bin.yml b/.github/workflows/build-dlib-bin.yml index 5433e1818..db35da9f7 100644 --- a/.github/workflows/build-dlib-bin.yml +++ b/.github/workflows/build-dlib-bin.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build dlib-bin ${{ inputs.version || '20.0.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 600 @@ -118,7 +122,7 @@ jobs: publish: name: Publish dlib-bin ${{ inputs.version || '20.0.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-docling-parse.yml b/.github/workflows/build-docling-parse.yml index 5a3c43e7b..e53e5e581 100644 --- a/.github/workflows/build-docling-parse.yml +++ b/.github/workflows/build-docling-parse.yml @@ -28,8 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # Upstream publishes cp310-cp314 and no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build docling-parse ${{ inputs.version || '7.16.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -126,7 +129,7 @@ jobs: publish: name: Publish docling-parse ${{ inputs.version || '7.16.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-duckdb.yml b/.github/workflows/build-duckdb.yml index 1894a82f9..1f63c60ef 100644 --- a/.github/workflows/build-duckdb.yml +++ b/.github/workflows/build-duckdb.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build duckdb ${{ inputs.version || '1.5.5' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 @@ -92,7 +96,7 @@ jobs: publish: name: Publish duckdb ${{ inputs.version || '1.5.5' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-dulwich.yml b/.github/workflows/build-dulwich.yml index 2c79d000b..6fc8ecc32 100644 --- a/.github/workflows/build-dulwich.yml +++ b/.github/workflows/build-dulwich.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build dulwich ${{ inputs.version || '1.2.13' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -80,7 +84,7 @@ jobs: publish: name: Publish dulwich ${{ inputs.version || '1.2.13' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-editdistance.yml b/.github/workflows/build-editdistance.yml index 26d576ee6..4c18aad98 100644 --- a/.github/workflows/build-editdistance.yml +++ b/.github/workflows/build-editdistance.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build editdistance ${{ inputs.version || '0.8.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -63,7 +67,7 @@ jobs: publish: name: Publish editdistance ${{ inputs.version || '0.8.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ezdxf.yml b/.github/workflows/build-ezdxf.yml index 8b16e7357..2a6d56b2e 100644 --- a/.github/workflows/build-ezdxf.yml +++ b/.github/workflows/build-ezdxf.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build ezdxf ${{ inputs.version || '1.4.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -78,7 +82,7 @@ jobs: publish: name: Publish ezdxf ${{ inputs.version || '1.4.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-faiss-cpu.yml b/.github/workflows/build-faiss-cpu.yml index a61eb0a55..787b2b76e 100644 --- a/.github/workflows/build-faiss-cpu.yml +++ b/.github/workflows/build-faiss-cpu.yml @@ -29,11 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # pyproject.toml sets wheel.py-api = "cp310" on Linux, so a single abi3 wheel - # covers every non-free-threaded CPython; upstream skips free-threaded builds - # entirely (`skip = "... cp3*t-*"`). Built on cp312 rather than upstream's - # cp310 because our registry's newest riscv64 numpy/scipy are cp311+ only. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build faiss-cpu ${{ inputs.version || '1.15.0' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 600 @@ -84,6 +84,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources runs-on: ubuntu-24.04-riscv @@ -109,7 +110,7 @@ jobs: publish: name: Publish faiss-cpu ${{ inputs.version || '1.15.0' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-fastavro.yml b/.github/workflows/build-fastavro.yml index 1e2022bf4..94a03fd8c 100644 --- a/.github/workflows/build-fastavro.yml +++ b/.github/workflows/build-fastavro.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build fastavro ${{ inputs.version || '1.12.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -112,7 +116,7 @@ jobs: publish: name: Publish fastavro ${{ inputs.version || '1.12.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-fastparquet.yml b/.github/workflows/build-fastparquet.yml index 7875520e5..0bd802b16 100644 --- a/.github/workflows/build-fastparquet.yml +++ b/.github/workflows/build-fastparquet.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build fastparquet ${{ inputs.version || '2026.5.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -102,7 +106,7 @@ jobs: publish: name: Publish fastparquet ${{ inputs.version || '2026.5.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-fastuuid.yml b/.github/workflows/build-fastuuid.yml index c78324e4c..b00e1e996 100644 --- a/.github/workflows/build-fastuuid.yml +++ b/.github/workflows/build-fastuuid.yml @@ -35,13 +35,11 @@ env: UUID_CRATE_VERSION: '1.18.1' jobs: - # Build the sdist ourselves from an upstream checkout (never consume the - # prebuilt PyPI sdist). maturin bundles the pinned Cargo.lock + the `.cargo/ - # config.toml` (which sets `--cfg uuid_unstable`, required by the uuid crate's - # v1/v7 features) + the tests/ suite into the sdist, so the riscv64 bdist - # builds reproducibly from it. The sdist is arch-independent, so build it once - # on ubuntu-latest (see gotcha 4). + setup: + uses: $/.github/workflows/_setup.yml + python_sdist: + needs: [setup] runs-on: ubuntu-latest outputs: sdist_artifact_name: ${{ steps.build_sdist.outputs.sdist_artifact_name }} @@ -89,7 +87,7 @@ jobs: if-no-files-found: error build_wheels: - needs: [python_sdist] + needs: [setup, python_sdist] name: Build fastuuid ${{ inputs.version || '0.14.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -159,7 +157,7 @@ jobs: publish: name: Publish fastuuid ${{ inputs.version || '0.14.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-fonttools.yml b/.github/workflows/build-fonttools.yml index 3e850a398..a0a49040a 100644 --- a/.github/workflows/build-fonttools.yml +++ b/.github/workflows/build-fonttools.yml @@ -31,7 +31,11 @@ env: CYTHON_SPEC: 'cython<3.3.0' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build fonttools ${{ inputs.version || '4.63.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -80,7 +84,7 @@ jobs: publish: name: Publish fonttools ${{ inputs.version || '4.63.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-gevent.yml b/.github/workflows/build-gevent.yml index e142b219b..56b8b2a89 100644 --- a/.github/workflows/build-gevent.yml +++ b/.github/workflows/build-gevent.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build gevent ${{ inputs.version || '26.8.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -125,7 +129,7 @@ jobs: publish: name: Publish gevent ${{ inputs.version || '26.8.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-geventhttpclient.yml b/.github/workflows/build-geventhttpclient.yml index 5ca6a57fb..ef8835e73 100644 --- a/.github/workflows/build-geventhttpclient.yml +++ b/.github/workflows/build-geventhttpclient.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build geventhttpclient ${{ inputs.version || '2.3.9' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -102,7 +106,7 @@ jobs: publish: name: Publish geventhttpclient ${{ inputs.version || '2.3.9' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-google-crc32c.yml b/.github/workflows/build-google-crc32c.yml index 2b7dd9fd1..f3f94e98c 100644 --- a/.github/workflows/build-google-crc32c.yml +++ b/.github/workflows/build-google-crc32c.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build google-crc32c ${{ inputs.version || '1.8.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -79,7 +83,7 @@ jobs: publish: name: Publish google-crc32c ${{ inputs.version || '1.8.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-google-re2.yml b/.github/workflows/build-google-re2.yml index ab3ea9a8a..92cebdf32 100644 --- a/.github/workflows/build-google-re2.yml +++ b/.github/workflows/build-google-re2.yml @@ -32,7 +32,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build google-re2 ${{ inputs.version || '1.1.20251105' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -113,7 +117,7 @@ jobs: publish: name: Publish google-re2 ${{ inputs.version || '1.1.20251105' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-granian.yml b/.github/workflows/build-granian.yml index 62c235f9f..7d5860265 100644 --- a/.github/workflows/build-granian.yml +++ b/.github/workflows/build-granian.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build granian ${{ inputs.version || '2.8.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -97,7 +101,7 @@ jobs: publish: name: Publish granian ${{ inputs.version || '2.8.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-grimp.yml b/.github/workflows/build-grimp.yml index eb2dbf0f7..1b957d326 100644 --- a/.github/workflows/build-grimp.yml +++ b/.github/workflows/build-grimp.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build grimp ${{ inputs.version || '3.15' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -82,7 +86,7 @@ jobs: publish: name: Publish grimp ${{ inputs.version || '3.15' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-grpcio.yml b/.github/workflows/build-grpcio.yml index a71ff50cd..5549c497d 100644 --- a/.github/workflows/build-grpcio.yml +++ b/.github/workflows/build-grpcio.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build grpcio ${{ inputs.version || '1.82.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -125,7 +129,7 @@ jobs: publish: name: Publish grpcio ${{ inputs.version || '1.82.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-h3.yml b/.github/workflows/build-h3.yml index 00ce0b89e..9daca4789 100644 --- a/.github/workflows/build-h3.yml +++ b/.github/workflows/build-h3.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build h3 ${{ inputs.version || '4.5.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -83,7 +87,7 @@ jobs: publish: name: Publish h3 ${{ inputs.version || '4.5.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-h5py.yml b/.github/workflows/build-h5py.yml index ae34d1eea..28794deed 100644 --- a/.github/workflows/build-h5py.yml +++ b/.github/workflows/build-h5py.yml @@ -35,7 +35,11 @@ env: LIBAEC_VERSION: '1.1.4' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build h5py ${{ inputs.version || '3.16.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 420 @@ -144,7 +148,7 @@ jobs: publish: name: Publish h5py ${{ inputs.version || '3.16.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-habluetooth.yml b/.github/workflows/build-habluetooth.yml index e3a181ffd..2bdd229a7 100644 --- a/.github/workflows/build-habluetooth.yml +++ b/.github/workflows/build-habluetooth.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build habluetooth ${{ inputs.version || '6.26.7' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -89,7 +93,7 @@ jobs: publish: name: Publish habluetooth ${{ inputs.version || '6.26.7' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-hf-xet.yml b/.github/workflows/build-hf-xet.yml index 9a9b3e42f..bd0fbc7bd 100644 --- a/.github/workflows/build-hf-xet.yml +++ b/.github/workflows/build-hf-xet.yml @@ -26,9 +26,11 @@ env: HFXET_VERSION: ${{ inputs.version || '1.6.0' }} jobs: - # The 3.14 wheel is abi3 compatible, so a separate build is only needed for - # 3.14t (free-threaded CPython has no stable ABI to target yet). + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build hf-xet ${{ inputs.version || '1.6.0' }} ${{ matrix.python-version }}-riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -128,7 +130,7 @@ jobs: publish: name: Publish hf-xet ${{ inputs.version || '1.6.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-highspy.yml b/.github/workflows/build-highspy.yml index defa5f540..246564130 100644 --- a/.github/workflows/build-highspy.yml +++ b/.github/workflows/build-highspy.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build highspy ${{ inputs.version || '1.15.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 240 @@ -94,7 +98,7 @@ jobs: publish: name: Publish highspy ${{ inputs.version || '1.15.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-hiredis.yml b/.github/workflows/build-hiredis.yml index 9d973577a..dd5f63f67 100644 --- a/.github/workflows/build-hiredis.yml +++ b/.github/workflows/build-hiredis.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build hiredis ${{ inputs.version || '3.4.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -89,7 +93,7 @@ jobs: publish: name: Publish hiredis ${{ inputs.version || '3.4.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-httpr.yml b/.github/workflows/build-httpr.yml index 56019d84c..671364abb 100644 --- a/.github/workflows/build-httpr.yml +++ b/.github/workflows/build-httpr.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build httpr ${{ inputs.version || '0.6.0' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -102,7 +106,7 @@ jobs: publish: name: Publish httpr ${{ inputs.version || '0.6.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-hypothesis.yml b/.github/workflows/build-hypothesis.yml index e9723b8d6..74b3d49dc 100644 --- a/.github/workflows/build-hypothesis.yml +++ b/.github/workflows/build-hypothesis.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build hypothesis ${{ inputs.version || '6.165.10' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 240 @@ -79,7 +83,7 @@ jobs: publish: name: Publish hypothesis ${{ inputs.version || '6.165.10' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ijson.yml b/.github/workflows/build-ijson.yml index c4c8dc8d0..f62f19bd5 100644 --- a/.github/workflows/build-ijson.yml +++ b/.github/workflows/build-ijson.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build ijson ${{ inputs.version || '3.5.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -80,7 +84,7 @@ jobs: publish: name: Publish ijson ${{ inputs.version || '3.5.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-inflate64.yml b/.github/workflows/build-inflate64.yml index 6e9c5f6ab..dc4d936af 100644 --- a/.github/workflows/build-inflate64.yml +++ b/.github/workflows/build-inflate64.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build inflate64 ${{ inputs.version || '1.0.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -65,7 +69,7 @@ jobs: publish: name: Publish inflate64 ${{ inputs.version || '1.0.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-jellyfish.yml b/.github/workflows/build-jellyfish.yml index f887802e0..8aaed5c56 100644 --- a/.github/workflows/build-jellyfish.yml +++ b/.github/workflows/build-jellyfish.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build jellyfish ${{ inputs.version || '1.2.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -91,7 +95,7 @@ jobs: publish: name: Publish jellyfish ${{ inputs.version || '1.2.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-jpype1.yml b/.github/workflows/build-jpype1.yml index 9b0240505..afea70bff 100644 --- a/.github/workflows/build-jpype1.yml +++ b/.github/workflows/build-jpype1.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build JPype1 ${{ inputs.version || '1.7.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -101,7 +105,7 @@ jobs: publish: name: Publish JPype1 ${{ inputs.version || '1.7.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-lazy-object-proxy.yml b/.github/workflows/build-lazy-object-proxy.yml index 981cd0fea..52eb313ab 100644 --- a/.github/workflows/build-lazy-object-proxy.yml +++ b/.github/workflows/build-lazy-object-proxy.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build lazy-object-proxy ${{ inputs.version || '1.12.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -82,7 +86,7 @@ jobs: publish: name: Publish lazy-object-proxy ${{ inputs.version || '1.12.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-levenshtein.yml b/.github/workflows/build-levenshtein.yml index 5b4f07455..8ae2de1ce 100644 --- a/.github/workflows/build-levenshtein.yml +++ b/.github/workflows/build-levenshtein.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_sdist: + needs: [setup] name: Build levenshtein ${{ inputs.version || '0.27.4' }} sdist runs-on: ubuntu-latest outputs: @@ -85,7 +89,7 @@ jobs: if-no-files-found: error build_wheels: - needs: build_sdist + needs: [setup, build_sdist] name: Build levenshtein ${{ inputs.version || '0.27.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -125,7 +129,7 @@ jobs: publish: name: Publish levenshtein ${{ inputs.version || '0.27.4' }} to GitLab - needs: [build_sdist, build_wheels] + needs: [setup, build_sdist, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-lightgbm.yml b/.github/workflows/build-lightgbm.yml index 2f95788d0..e449804a4 100644 --- a/.github/workflows/build-lightgbm.yml +++ b/.github/workflows/build-lightgbm.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + python_sdist: + needs: [setup] name: Build lightgbm ${{ inputs.version || '4.7.0' }} sdist runs-on: ubuntu-latest outputs: @@ -82,7 +86,7 @@ jobs: build_wheels: name: Build lightgbm ${{ inputs.version || '4.7.0' }} py3-none-manylinux_riscv64 - needs: [python_sdist] + needs: [setup, python_sdist] runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -165,7 +169,7 @@ jobs: publish: name: Publish lightgbm ${{ inputs.version || '4.7.0' }} to GitLab - needs: [python_sdist, build_wheels] + needs: [setup, python_sdist, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-litellm.yml b/.github/workflows/build-litellm.yml index 2cd4f425f..76cba4a74 100644 --- a/.github/workflows/build-litellm.yml +++ b/.github/workflows/build-litellm.yml @@ -35,15 +35,11 @@ env: LITELLM_VERSION: ${{ inputs.version || '1.97.0' }} jobs: - # Build the sdist ourselves from an upstream checkout (never consume the - # prebuilt PyPI sdist). The litellm sdist is self-contained and - # arch-independent: it bundles the committed litellm-rust/Cargo.lock (so crate - # versions are pinned - no floating-dep resolve, and upstream's own test-rust.yml - # builds `--locked`) and the prebuilt Next.js admin UI under - # litellm/proxy/_experimental/out/** (checked into the repo at the tag), so the - # riscv64 bdist needs neither npm/codegen nor git history. Build it once on - # ubuntu-latest (see CLAUDE.md gotcha 4). + setup: + uses: $/.github/workflows/_setup.yml + python_sdist: + needs: [setup] runs-on: ubuntu-latest outputs: sdist_artifact_name: ${{ steps.build_sdist.outputs.sdist_artifact_name }} @@ -121,7 +117,7 @@ jobs: if-no-files-found: error build_wheels: - needs: [python_sdist] + needs: [setup, python_sdist] name: Build litellm ${{ inputs.version || '1.97.0' }} cp312-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -197,7 +193,7 @@ jobs: publish: name: Publish litellm ${{ inputs.version || '1.97.0' }} to GitLab - needs: [python_sdist, build_wheels] + needs: [setup, python_sdist, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-lmdb.yml b/.github/workflows/build-lmdb.yml index cdcf6ef2f..9d8c94987 100644 --- a/.github/workflows/build-lmdb.yml +++ b/.github/workflows/build-lmdb.yml @@ -28,8 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # Upstream builds cp39-* through cp314-* and publishes no free-threaded wheel. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build lmdb ${{ inputs.version || '2.3.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -73,7 +76,7 @@ jobs: publish: name: Publish lmdb ${{ inputs.version || '2.3.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-lmnr-claude-code-proxy.yml b/.github/workflows/build-lmnr-claude-code-proxy.yml index ca5689fd7..c8b3977c6 100644 --- a/.github/workflows/build-lmnr-claude-code-proxy.yml +++ b/.github/workflows/build-lmnr-claude-code-proxy.yml @@ -32,7 +32,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build lmnr-claude-code-proxy ${{ inputs.version || '0.1.24' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 300 @@ -212,7 +216,7 @@ jobs: publish: name: Publish lmnr-claude-code-proxy ${{ inputs.version || '0.1.24' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-lz4.yml b/.github/workflows/build-lz4.yml index 8c52992ad..f84404ce7 100644 --- a/.github/workflows/build-lz4.yml +++ b/.github/workflows/build-lz4.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build lz4 ${{ inputs.version || '4.4.5' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -85,7 +89,7 @@ jobs: publish: name: Publish lz4 ${{ inputs.version || '4.4.5' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-magika.yml b/.github/workflows/build-magika.yml index ed8382766..59090d8de 100644 --- a/.github/workflows/build-magika.yml +++ b/.github/workflows/build-magika.yml @@ -32,7 +32,11 @@ env: MATURIN_VERSION: '1.13.1' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheel: + needs: [setup] name: Build magika ${{ inputs.version || '1.0.3' }} py3-none-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 # 24h: ONNX Runtime is built from source @@ -114,7 +118,7 @@ jobs: test_wheel: name: Test magika ${{ inputs.version || '1.0.3' }} ${{ matrix.python }} - needs: [build_wheel] + needs: [setup, build_wheel] runs-on: ubuntu-24.04-riscv timeout-minutes: 120 strategy: @@ -188,7 +192,7 @@ jobs: publish: name: Publish magika ${{ inputs.version || '1.0.3' }} to GitLab - needs: [build_wheel, test_wheel] + needs: [setup, build_wheel, test_wheel] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-marisa-trie.yml b/.github/workflows/build-marisa-trie.yml index c05ec297c..62113089e 100644 --- a/.github/workflows/build-marisa-trie.yml +++ b/.github/workflows/build-marisa-trie.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build marisa-trie ${{ inputs.version || '1.4.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -90,7 +94,7 @@ jobs: publish: name: Publish marisa-trie ${{ inputs.version || '1.4.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-matplotlib.yml b/.github/workflows/build-matplotlib.yml index d659ce5a9..46ddf6334 100644 --- a/.github/workflows/build-matplotlib.yml +++ b/.github/workflows/build-matplotlib.yml @@ -32,7 +32,11 @@ env: UV_ONLY_BINARY: ':all:' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_sdist: + needs: [setup] name: Build matplotlib ${{ inputs.version || '3.11.1' }} sdist runs-on: ubuntu-24.04-riscv permissions: @@ -96,7 +100,7 @@ jobs: if-no-files-found: error build_wheels: - needs: build_sdist + needs: [setup, build_sdist] name: Build matplotlib ${{ inputs.version || '3.11.1' }} wheels for riscv64 permissions: contents: read @@ -168,7 +172,7 @@ jobs: publish: name: Publish matplotlib ${{ inputs.version || '3.11.1' }} to GitLab - needs: build_wheels + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-maxminddb.yml b/.github/workflows/build-maxminddb.yml index 60d77c968..59781c329 100644 --- a/.github/workflows/build-maxminddb.yml +++ b/.github/workflows/build-maxminddb.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build maxminddb ${{ inputs.version || '3.1.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -87,7 +91,7 @@ jobs: publish: name: Publish maxminddb ${{ inputs.version || '3.1.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-memray.yml b/.github/workflows/build-memray.yml index c6497b271..16ecc0b09 100644 --- a/.github/workflows/build-memray.yml +++ b/.github/workflows/build-memray.yml @@ -29,7 +29,11 @@ env: LIBUNWIND_VERSION: '1.8.3' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build memray ${{ inputs.version || '1.20.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -173,6 +177,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources for memray ${{ inputs.version || '1.20.0' }} runs-on: ubuntu-24.04-riscv @@ -200,7 +205,7 @@ jobs: publish: name: Publish memray ${{ inputs.version || '1.20.0' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-mmh3.yml b/.github/workflows/build-mmh3.yml index ee6f6f124..7269652bd 100644 --- a/.github/workflows/build-mmh3.yml +++ b/.github/workflows/build-mmh3.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build mmh3 ${{ inputs.version || '5.3.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -64,7 +68,7 @@ jobs: publish: name: Publish mmh3 ${{ inputs.version || '5.3.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-murmurhash.yml b/.github/workflows/build-murmurhash.yml index f86c068ff..136b55f35 100644 --- a/.github/workflows/build-murmurhash.yml +++ b/.github/workflows/build-murmurhash.yml @@ -31,7 +31,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build murmurhash ${{ inputs.version || '1.0.15' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -81,7 +85,7 @@ jobs: publish: name: Publish murmurhash ${{ inputs.version || '1.0.15' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-mypy.yml b/.github/workflows/build-mypy.yml index 4fd0e25db..e54bd6133 100644 --- a/.github/workflows/build-mypy.yml +++ b/.github/workflows/build-mypy.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build mypy ${{ inputs.version || '2.3.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv # mypy self-compiles ~230 modules at -O3 (~40min alone on fast hardware), then runs its full test suite; both are much slower on the riscv runner. @@ -78,7 +82,7 @@ jobs: publish: name: Publish mypy ${{ inputs.version || '2.3.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-mysql-connector-python.yml b/.github/workflows/build-mysql-connector-python.yml index 5be8c1e8b..5eef71060 100644 --- a/.github/workflows/build-mysql-connector-python.yml +++ b/.github/workflows/build-mysql-connector-python.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build mysql-connector-python ${{ inputs.version || '26.7.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -113,6 +117,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources runs-on: ubuntu-24.04-riscv @@ -138,7 +143,7 @@ jobs: publish: name: Publish mysql-connector-python ${{ inputs.version || '26.7.0' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ndindex.yml b/.github/workflows/build-ndindex.yml index b8dccdbd8..0812e2a99 100644 --- a/.github/workflows/build-ndindex.yml +++ b/.github/workflows/build-ndindex.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_sdist: + needs: [setup] name: Build ndindex ${{ inputs.version || '1.10.1' }} sdist runs-on: ubuntu-latest outputs: @@ -70,7 +74,7 @@ jobs: if-no-files-found: error build_wheels: - needs: build_sdist + needs: [setup, build_sdist] name: Build ndindex ${{ inputs.version || '1.10.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 240 @@ -128,7 +132,7 @@ jobs: publish: name: Publish ndindex ${{ inputs.version || '1.10.1' }} to GitLab - needs: [build_sdist, build_wheels] + needs: [setup, build_sdist, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-netcdf4.yml b/.github/workflows/build-netcdf4.yml index ed1fbe99f..ef8b5141f 100644 --- a/.github/workflows/build-netcdf4.yml +++ b/.github/workflows/build-netcdf4.yml @@ -38,7 +38,11 @@ env: NETCDF_VERSION: '4.10.1' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build netCDF4 ${{ inputs.version || '1.7.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 600 @@ -210,7 +214,7 @@ jobs: publish: name: Publish netCDF4 ${{ inputs.version || '1.7.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-newrelic.yml b/.github/workflows/build-newrelic.yml index c2e9f5b77..6bdbb4d99 100644 --- a/.github/workflows/build-newrelic.yml +++ b/.github/workflows/build-newrelic.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build newrelic ${{ inputs.version || '13.5.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -70,7 +74,7 @@ jobs: publish: name: Publish newrelic ${{ inputs.version || '13.5.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-numcodecs.yml b/.github/workflows/build-numcodecs.yml index 37ae81b95..f03ec861c 100644 --- a/.github/workflows/build-numcodecs.yml +++ b/.github/workflows/build-numcodecs.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build numcodecs ${{ inputs.version || '0.16.5' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 300 @@ -91,7 +95,7 @@ jobs: publish: name: Publish numcodecs ${{ inputs.version || '0.16.5' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-numexpr.yml b/.github/workflows/build-numexpr.yml index 5c4f2e366..e03f1694d 100644 --- a/.github/workflows/build-numexpr.yml +++ b/.github/workflows/build-numexpr.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build numexpr ${{ inputs.version || '2.14.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -67,7 +71,7 @@ jobs: publish: name: Publish numexpr ${{ inputs.version || '2.14.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-numpy.yml b/.github/workflows/build-numpy.yml index df710d99b..5873a4582 100644 --- a/.github/workflows/build-numpy.yml +++ b/.github/workflows/build-numpy.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build numpy ${{ inputs.version || '2.5.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -100,7 +104,7 @@ jobs: publish: name: Publish numpy ${{ inputs.version || '2.5.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-onnx.yml b/.github/workflows/build-onnx.yml index 1a7c85bb7..8a4867d5b 100644 --- a/.github/workflows/build-onnx.yml +++ b/.github/workflows/build-onnx.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build: + needs: [setup] name: Build onnx ${{ inputs.version || '1.22.0' }} ${{ matrix.build }} runs-on: ubuntu-24.04-riscv strategy: @@ -130,7 +134,7 @@ jobs: publish: name: Publish onnx ${{ inputs.version || '1.22.0' }} to GitLab - needs: [build] + needs: [setup, build] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-onnxruntime.yml b/.github/workflows/build-onnxruntime.yml index 83e9f85e3..ed7e8a799 100644 --- a/.github/workflows/build-onnxruntime.yml +++ b/.github/workflows/build-onnxruntime.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build onnxruntime ${{ inputs.version || '1.29.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 # 24h @@ -163,7 +167,7 @@ jobs: publish: name: Publish onnxruntime ${{ inputs.version || '1.29.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-opencv-python-headless.yml b/.github/workflows/build-opencv-python-headless.yml index 11d29b134..e9986bc0e 100644 --- a/.github/workflows/build-opencv-python-headless.yml +++ b/.github/workflows/build-opencv-python-headless.yml @@ -26,7 +26,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build opencv-python-headless ${{ inputs.version || '5.0.0.93' }} cp37-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -115,7 +119,7 @@ jobs: publish: name: Publish opencv-python-headless ${{ inputs.version || '5.0.0.93' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-opencv-python.yml b/.github/workflows/build-opencv-python.yml index 5e76c4ab1..0c3023a7e 100644 --- a/.github/workflows/build-opencv-python.yml +++ b/.github/workflows/build-opencv-python.yml @@ -26,7 +26,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build opencv-python ${{ inputs.version || '5.0.0.93' }} cp37-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -113,7 +117,7 @@ jobs: publish: name: Publish opencv-python ${{ inputs.version || '5.0.0.93' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-oracledb.yml b/.github/workflows/build-oracledb.yml index 44dadc429..233070f0c 100644 --- a/.github/workflows/build-oracledb.yml +++ b/.github/workflows/build-oracledb.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build oracledb ${{ inputs.version || '4.0.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -98,7 +102,7 @@ jobs: publish: name: Publish oracledb ${{ inputs.version || '4.0.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-orjson.yml b/.github/workflows/build-orjson.yml index a28c7f4be..c83d17784 100644 --- a/.github/workflows/build-orjson.yml +++ b/.github/workflows/build-orjson.yml @@ -29,7 +29,11 @@ env: RUST_TOOLCHAIN: "nightly-2026-08-01" jobs: + setup: + uses: $/.github/workflows/_setup.yml + manylinux: + needs: [setup] name: Build orjson ${{ inputs.version || '3.12.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -83,7 +87,7 @@ jobs: publish: name: Publish orjson ${{ inputs.version || '3.12.0' }} to GitLab - needs: [manylinux] + needs: [setup, manylinux] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ormsgpack.yml b/.github/workflows/build-ormsgpack.yml index 459c763c2..6aed3b6ba 100644 --- a/.github/workflows/build-ormsgpack.yml +++ b/.github/workflows/build-ormsgpack.yml @@ -29,7 +29,11 @@ env: RUST_TOOLCHAIN: 'nightly-2025-11-28' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build ormsgpack ${{ inputs.version || '1.12.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -95,7 +99,7 @@ jobs: publish: name: Publish ormsgpack ${{ inputs.version || '1.12.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pglast.yml b/.github/workflows/build-pglast.yml index df0f77e40..f072c60ee 100644 --- a/.github/workflows/build-pglast.yml +++ b/.github/workflows/build-pglast.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pglast ${{ inputs.version || '8.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -88,7 +92,7 @@ jobs: publish: name: Publish pglast ${{ inputs.version || '8.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pillow-heif.yml b/.github/workflows/build-pillow-heif.yml index 865fe90fd..468b0172b 100644 --- a/.github/workflows/build-pillow-heif.yml +++ b/.github/workflows/build-pillow-heif.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pillow-heif ${{ inputs.version || '1.5.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -92,7 +96,7 @@ jobs: publish: name: Publish pillow-heif ${{ inputs.version || '1.5.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pillow.yml b/.github/workflows/build-pillow.yml index 68ffa16a4..a1e3306b4 100644 --- a/.github/workflows/build-pillow.yml +++ b/.github/workflows/build-pillow.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pillow ${{ inputs.version || '12.3.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -93,7 +97,7 @@ jobs: publish: name: Publish pillow ${{ inputs.version || '12.3.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-polars-runtime.yml b/.github/workflows/build-polars-runtime.yml index 53261684e..7dff03e5d 100644 --- a/.github/workflows/build-polars-runtime.yml +++ b/.github/workflows/build-polars-runtime.yml @@ -46,12 +46,11 @@ defaults: shell: bash jobs: - # The build_wheels' "Test wheel" step needs this polars package installed for - # `import polars` to work. + setup: + uses: $/.github/workflows/_setup.yml + base-package: - # Dependabot action bumps shouldn't burn a multi-hour riscv64 build; humans - # editing this workflow still trigger it via the pull_request paths filter. - if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]' + needs: [setup] runs-on: ubuntu-latest strategy: fail-fast: false @@ -101,7 +100,7 @@ jobs: path: dist build_wheels: - needs: [base-package] + needs: [setup, base-package] name: Build ${{ matrix.package }} ${{ inputs.version || '1.44.0' }} ${{ matrix.job_config }} runs-on: ${{ matrix.os }} strategy: @@ -186,7 +185,7 @@ jobs: publish: name: Publish ${{ matrix.package }} ${{ inputs.version || '1.44.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest strategy: matrix: diff --git a/.github/workflows/build-polyleven.yml b/.github/workflows/build-polyleven.yml index 1f5281f52..66eecf1e4 100644 --- a/.github/workflows/build-polyleven.yml +++ b/.github/workflows/build-polyleven.yml @@ -32,7 +32,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build polyleven ${{ inputs.version || '0.11.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -68,7 +72,7 @@ jobs: publish: name: Publish polyleven ${{ inputs.version || '0.11.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-preshed.yml b/.github/workflows/build-preshed.yml index c812194e8..053b849fd 100644 --- a/.github/workflows/build-preshed.yml +++ b/.github/workflows/build-preshed.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build preshed ${{ inputs.version || '3.0.13' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -91,7 +95,7 @@ jobs: publish: name: Publish preshed ${{ inputs.version || '3.0.13' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-primp.yml b/.github/workflows/build-primp.yml index 79df85a0d..ae07e90a8 100644 --- a/.github/workflows/build-primp.yml +++ b/.github/workflows/build-primp.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build primp ${{ inputs.version || '1.3.1' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -100,7 +104,7 @@ jobs: publish: name: Publish primp ${{ inputs.version || '1.3.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-protobuf.yml b/.github/workflows/build-protobuf.yml index 3a2532d5b..643efe8d4 100644 --- a/.github/workflows/build-protobuf.yml +++ b/.github/workflows/build-protobuf.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + python_sdist: + needs: [setup] # protobuf's setup.py CANNOT build from the git checkout - its python # README is explicit: "You cannot build from setup.py using the GitHub repo # or the GitHub source tarball." The self-contained sdist (which bundles the @@ -139,7 +143,7 @@ jobs: # setup.py compiles the bundled upb/utf8_range C sources into the # google._upb._message extension - no protoc or Bazel is needed at this # stage, and no external native dependency (so, no CIBW_BEFORE_BUILD). - needs: [python_sdist] + needs: [setup, python_sdist] name: Build protobuf ${{ needs.python_sdist.outputs.package_version }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -243,7 +247,7 @@ jobs: publish: name: Publish protobuf ${{ needs.python_sdist.outputs.package_version }} to GitLab - needs: [python_sdist, linux] + needs: [setup, python_sdist, linux] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-psygnal.yml b/.github/workflows/build-psygnal.yml index 780d63186..fca41eb2d 100644 --- a/.github/workflows/build-psygnal.yml +++ b/.github/workflows/build-psygnal.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build psygnal ${{ inputs.version || '0.15.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -80,7 +84,7 @@ jobs: publish: name: Publish psygnal ${{ inputs.version || '0.15.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-py-spy.yml b/.github/workflows/build-py-spy.yml index 90ddf71cc..b29f64b82 100644 --- a/.github/workflows/build-py-spy.yml +++ b/.github/workflows/build-py-spy.yml @@ -28,7 +28,11 @@ env: PY_SPY_VERSION: ${{ inputs.version || '0.4.2' }} jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheel: + needs: [setup] name: Build py-spy ${{ inputs.version || '0.4.2' }} manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -75,7 +79,7 @@ jobs: test_wheel: name: Test py-spy ${{ inputs.version || '0.4.2' }} on Python ${{ matrix.python-version }} - needs: [build_wheel] + needs: [setup, build_wheel] runs-on: ubuntu-24.04-riscv timeout-minutes: 30 env: @@ -152,7 +156,7 @@ jobs: publish: name: Publish py-spy ${{ inputs.version || '0.4.2' }} to GitLab - needs: [build_wheel, test_wheel] + needs: [setup, build_wheel, test_wheel] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyarrow.yml b/.github/workflows/build-pyarrow.yml index 600019617..c28f9ab05 100644 --- a/.github/workflows/build-pyarrow.yml +++ b/.github/workflows/build-pyarrow.yml @@ -49,7 +49,11 @@ env: ARROW_TENSORFLOW: "OFF" jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyarrow ${{ inputs.version || '25.0.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 # 24h — Arrow C++ + all deps built from source on riscv64 @@ -311,7 +315,7 @@ jobs: publish: name: Publish pyarrow ${{ inputs.version || '25.0.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pybcj.yml b/.github/workflows/build-pybcj.yml index 0118fdef6..2ebe246c7 100644 --- a/.github/workflows/build-pybcj.yml +++ b/.github/workflows/build-pybcj.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pybcj ${{ inputs.version || '1.0.8' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -67,7 +71,7 @@ jobs: publish: name: Publish pybcj ${{ inputs.version || '1.0.8' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pycares.yml b/.github/workflows/build-pycares.yml index 9ecbeab8a..9467aa2cb 100644 --- a/.github/workflows/build-pycares.yml +++ b/.github/workflows/build-pycares.yml @@ -31,7 +31,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pycares ${{ inputs.version || '5.0.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -93,7 +97,7 @@ jobs: publish: name: Publish pycares ${{ inputs.version || '5.0.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyclipper.yml b/.github/workflows/build-pyclipper.yml index bdcc4c890..c88eba7d1 100644 --- a/.github/workflows/build-pyclipper.yml +++ b/.github/workflows/build-pyclipper.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyclipper ${{ inputs.version || '1.4.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -66,7 +70,7 @@ jobs: publish: name: Publish pyclipper ${{ inputs.version || '1.4.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pycryptodome.yml b/.github/workflows/build-pycryptodome.yml index 6bc9b001c..1a7da6489 100644 --- a/.github/workflows/build-pycryptodome.yml +++ b/.github/workflows/build-pycryptodome.yml @@ -31,10 +31,11 @@ env: TEST_COMMAND: python -m Crypto.SelfTest --skip-slow-tests jobs: - # setup.py passes py_limited_api=cp37 to bdist_wheel, so one wheel covers every - # non-free-threaded CPython; cibuildwheel builds it on cp312 and re-tests it on - # cp313/cp314 (find_compatible_wheel). + setup: + uses: $/.github/workflows/_setup.yml + build_abi3: + needs: [setup] name: Build pycryptodome ${{ inputs.version || '3.23.0' }} cp37-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -64,6 +65,7 @@ jobs: # Free-threaded builds get no abi3 wheel (setup.py skips py_limited_api under # Py_GIL_DISABLED); cp314t is the only free-threaded interpreter in the image. build_freethreaded: + needs: [setup] name: Build pycryptodome ${{ inputs.version || '3.23.0' }} cp314t-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -92,7 +94,7 @@ jobs: publish: name: Publish pycryptodome ${{ inputs.version || '3.23.0' }} to GitLab - needs: [build_abi3, build_freethreaded] + needs: [setup, build_abi3, build_freethreaded] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pycryptodomex.yml b/.github/workflows/build-pycryptodomex.yml index 11009b6a2..6cbd35363 100644 --- a/.github/workflows/build-pycryptodomex.yml +++ b/.github/workflows/build-pycryptodomex.yml @@ -33,10 +33,11 @@ env: TEST_COMMAND: python -m Cryptodome.SelfTest --skip-slow-tests jobs: - # setup.py passes py_limited_api=cp37 to bdist_wheel, so one wheel covers every - # non-free-threaded CPython; cibuildwheel builds it on cp312 and re-tests it on - # cp313/cp314 (find_compatible_wheel). + setup: + uses: $/.github/workflows/_setup.yml + build_abi3: + needs: [setup] name: Build pycryptodomex ${{ inputs.version || '3.23.0' }} cp37-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -66,6 +67,7 @@ jobs: # Free-threaded builds get no abi3 wheel (setup.py skips py_limited_api under # Py_GIL_DISABLED); cp314t is the only free-threaded interpreter in the image. build_freethreaded: + needs: [setup] name: Build pycryptodomex ${{ inputs.version || '3.23.0' }} cp314t-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -94,7 +96,7 @@ jobs: publish: name: Publish pycryptodomex ${{ inputs.version || '3.23.0' }} to GitLab - needs: [build_abi3, build_freethreaded] + needs: [setup, build_abi3, build_freethreaded] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pygraphviz.yml b/.github/workflows/build-pygraphviz.yml index d73a128e2..56bd7e816 100644 --- a/.github/workflows/build-pygraphviz.yml +++ b/.github/workflows/build-pygraphviz.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pygraphviz ${{ inputs.version || '2.0.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -255,6 +259,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources for pygraphviz ${{ inputs.version || '2.0.1' }} runs-on: ubuntu-24.04-riscv @@ -281,7 +286,7 @@ jobs: publish: name: Publish pygraphviz ${{ inputs.version || '2.0.1' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyiceberg.yml b/.github/workflows/build-pyiceberg.yml index 3c909f971..721fba603 100644 --- a/.github/workflows/build-pyiceberg.yml +++ b/.github/workflows/build-pyiceberg.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyiceberg ${{ inputs.version || '0.11.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -83,7 +87,7 @@ jobs: publish: name: Publish pyiceberg ${{ inputs.version || '0.11.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyinstaller.yml b/.github/workflows/build-pyinstaller.yml index c426074d9..9b61c9c44 100644 --- a/.github/workflows/build-pyinstaller.yml +++ b/.github/workflows/build-pyinstaller.yml @@ -35,7 +35,11 @@ env: PYI_WHEEL_TAG: manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheel: + needs: [setup] name: Build PyInstaller ${{ inputs.version || '6.22.2' }} py3-none-manylinux_riscv64 runs-on: ubuntu-24.04-riscv @@ -111,7 +115,7 @@ jobs: test_wheel: name: Test PyInstaller ${{ inputs.version || '6.22.2' }} on ${{ matrix.python-version }} - needs: [build_wheel] + needs: [setup, build_wheel] runs-on: ubuntu-24.04-riscv strategy: fail-fast: false @@ -198,7 +202,7 @@ jobs: publish: name: Publish PyInstaller ${{ inputs.version || '6.22.2' }} to GitLab - needs: [build_wheel, test_wheel] + needs: [setup, build_wheel, test_wheel] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyinstrument.yml b/.github/workflows/build-pyinstrument.yml index 4eb63fe10..c2696e61c 100644 --- a/.github/workflows/build-pyinstrument.yml +++ b/.github/workflows/build-pyinstrument.yml @@ -28,9 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # musllinux is dropped: the test extras need cffi and psutil, which our registry - # ships for manylinux only. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyinstrument ${{ inputs.version || '5.1.3' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -73,7 +75,7 @@ jobs: publish: name: Publish pyinstrument ${{ inputs.version || '5.1.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pymongo.yml b/.github/workflows/build-pymongo.yml index 41b1c567b..3ccd50632 100644 --- a/.github/workflows/build-pymongo.yml +++ b/.github/workflows/build-pymongo.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pymongo ${{ inputs.version || '4.17.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -82,7 +86,7 @@ jobs: publish: name: Publish pymongo ${{ inputs.version || '4.17.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pymssql.yml b/.github/workflows/build-pymssql.yml index 914a79f3d..75a560e7f 100644 --- a/.github/workflows/build-pymssql.yml +++ b/.github/workflows/build-pymssql.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pymssql ${{ inputs.version || '2.3.13' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -90,7 +94,7 @@ jobs: publish: name: Publish pymssql ${{ inputs.version || '2.3.13' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pymupdf-layout.yml b/.github/workflows/build-pymupdf-layout.yml index b6b006ca6..1f7a789e4 100644 --- a/.github/workflows/build-pymupdf-layout.yml +++ b/.github/workflows/build-pymupdf-layout.yml @@ -36,7 +36,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pymupdf-layout ${{ inputs.version || '1.28.2' }} cp312-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv @@ -88,7 +92,7 @@ jobs: publish: name: Publish pymupdf-layout ${{ inputs.version || '1.28.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pymupdf.yml b/.github/workflows/build-pymupdf.yml index 51e70c97a..6256bef02 100644 --- a/.github/workflows/build-pymupdf.yml +++ b/.github/workflows/build-pymupdf.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pymupdf ${{ inputs.version || '1.28.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv # setup.py downloads and builds the whole of MuPDF (incl. tesseract/leptonica), @@ -99,7 +103,7 @@ jobs: publish: name: Publish pymupdf ${{ inputs.version || '1.28.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyodbc.yml b/.github/workflows/build-pyodbc.yml index 15acae286..289db343d 100644 --- a/.github/workflows/build-pyodbc.yml +++ b/.github/workflows/build-pyodbc.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyodbc ${{ inputs.version || '5.3.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -95,7 +99,7 @@ jobs: publish: name: Publish pyodbc ${{ inputs.version || '5.3.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyogrio.yml b/.github/workflows/build-pyogrio.yml index cf4f79969..e71139e37 100644 --- a/.github/workflows/build-pyogrio.yml +++ b/.github/workflows/build-pyogrio.yml @@ -33,7 +33,11 @@ env: GDAL_IMAGE: manylinux_2_39_riscv64_gdal jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_image: + needs: [setup] name: Build the GDAL build image runs-on: ubuntu-24.04-riscv timeout-minutes: 600 @@ -235,7 +239,7 @@ jobs: build_wheels: name: Build pyogrio ${{ inputs.version || '0.13.0' }} ${{ matrix.wheel_tag }}-manylinux_riscv64 - needs: [build_image] + needs: [setup, build_image] runs-on: ubuntu-24.04-riscv timeout-minutes: 600 strategy: @@ -512,7 +516,7 @@ jobs: publish: name: Publish pyogrio ${{ inputs.version || '0.13.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyppmd.yml b/.github/workflows/build-pyppmd.yml index 70fc35029..b07af236f 100644 --- a/.github/workflows/build-pyppmd.yml +++ b/.github/workflows/build-pyppmd.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyppmd ${{ inputs.version || '1.3.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -66,7 +70,7 @@ jobs: publish: name: Publish pyppmd ${{ inputs.version || '1.3.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyproj.yml b/.github/workflows/build-pyproj.yml index ba3c5d647..3146144a3 100644 --- a/.github/workflows/build-pyproj.yml +++ b/.github/workflows/build-pyproj.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyproj ${{ inputs.version || '3.7.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 600 @@ -105,7 +109,7 @@ jobs: publish: name: Publish pyproj ${{ inputs.version || '3.7.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyroaring.yml b/.github/workflows/build-pyroaring.yml index 0870da97d..20bf634d6 100644 --- a/.github/workflows/build-pyroaring.yml +++ b/.github/workflows/build-pyroaring.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyroaring ${{ inputs.version || '1.1.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -93,7 +97,7 @@ jobs: publish: name: Publish pyroaring ${{ inputs.version || '1.1.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyroscope-io.yml b/.github/workflows/build-pyroscope-io.yml index a6b63e7f7..96902651e 100644 --- a/.github/workflows/build-pyroscope-io.yml +++ b/.github/workflows/build-pyroscope-io.yml @@ -31,7 +31,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyroscope-io ${{ inputs.version || '1.2.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 480 @@ -266,7 +270,7 @@ jobs: publish: name: Publish pyroscope-io ${{ inputs.version || '1.2.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pyrsistent.yml b/.github/workflows/build-pyrsistent.yml index 621d8cbdf..80a5ab141 100644 --- a/.github/workflows/build-pyrsistent.yml +++ b/.github/workflows/build-pyrsistent.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pyrsistent ${{ inputs.version || '0.20.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -88,7 +92,7 @@ jobs: publish: name: Publish pyrsistent ${{ inputs.version || '0.20.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-python-bidi.yml b/.github/workflows/build-python-bidi.yml index 5d2b83500..1f3ecb5c2 100644 --- a/.github/workflows/build-python-bidi.yml +++ b/.github/workflows/build-python-bidi.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build python-bidi ${{ inputs.version || '0.6.11' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -84,7 +88,7 @@ jobs: publish: name: Publish python-bidi ${{ inputs.version || '0.6.11' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-python-rapidjson.yml b/.github/workflows/build-python-rapidjson.yml index d565afdfc..df7bb622a 100644 --- a/.github/workflows/build-python-rapidjson.yml +++ b/.github/workflows/build-python-rapidjson.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build python-rapidjson ${{ inputs.version || '1.23' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -72,7 +76,7 @@ jobs: publish: name: Publish python-rapidjson ${{ inputs.version || '1.23' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pytokens.yml b/.github/workflows/build-pytokens.yml index 007bfca65..23a632a10 100644 --- a/.github/workflows/build-pytokens.yml +++ b/.github/workflows/build-pytokens.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pytokens ${{ inputs.version || '0.4.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -68,7 +72,7 @@ jobs: publish: name: Publish pytokens ${{ inputs.version || '0.4.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-pywavelets.yml b/.github/workflows/build-pywavelets.yml index be659c29b..b69f59ca7 100644 --- a/.github/workflows/build-pywavelets.yml +++ b/.github/workflows/build-pywavelets.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build pywavelets ${{ inputs.version || '1.9.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 300 @@ -71,7 +75,7 @@ jobs: publish: name: Publish pywavelets ${{ inputs.version || '1.9.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ray.yml b/.github/workflows/build-ray.yml index 18072e203..0392b4810 100644 --- a/.github/workflows/build-ray.yml +++ b/.github/workflows/build-ray.yml @@ -39,7 +39,11 @@ env: NODE_VERSION: '14.21.3' jobs: + setup: + uses: $/.github/workflows/_setup.yml + dashboard: + needs: [setup] name: Build ray dashboard runs-on: ubuntu-latest timeout-minutes: 60 @@ -71,6 +75,7 @@ jobs: if-no-files-found: error bazel: + needs: [setup] name: Bootstrap bazel (riscv64) runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -139,7 +144,7 @@ jobs: name: Build ray ${{ inputs.version || '2.58.0' }} manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 # 24h - needs: [bazel, dashboard] + needs: [setup, bazel, dashboard] steps: - name: Checkout ray ${{ inputs.version || '2.58.0' }} @@ -287,7 +292,7 @@ jobs: publish: name: Publish ray ${{ inputs.version || '2.58.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-rdkit.yml b/.github/workflows/build-rdkit.yml index 29a2adf39..94052d84a 100644 --- a/.github/workflows/build-rdkit.yml +++ b/.github/workflows/build-rdkit.yml @@ -34,7 +34,11 @@ env: CMAKE_VERSION: '3.31.6' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build rdkit ${{ inputs.version || '2026.3.5' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 @@ -211,7 +215,7 @@ jobs: publish: name: Publish rdkit ${{ inputs.version || '2026.3.5' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-regress.yml b/.github/workflows/build-regress.yml index 7e14e137c..b60f30ebc 100644 --- a/.github/workflows/build-regress.yml +++ b/.github/workflows/build-regress.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build regress ${{ inputs.version || '2025.10.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -72,7 +76,7 @@ jobs: publish: name: Publish regress ${{ inputs.version || '2025.10.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-rtree.yml b/.github/workflows/build-rtree.yml index b28552d1f..657f1cf1a 100644 --- a/.github/workflows/build-rtree.yml +++ b/.github/workflows/build-rtree.yml @@ -27,7 +27,11 @@ env: RTREE_VERSION: ${{ inputs.version || '1.4.1' }} jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build rtree ${{ inputs.version || '1.4.1' }} py3-none-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -92,7 +96,7 @@ jobs: publish: name: Publish rtree ${{ inputs.version || '1.4.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-ruamel-yaml-clib.yml b/.github/workflows/build-ruamel-yaml-clib.yml index 6836c6687..d05748196 100644 --- a/.github/workflows/build-ruamel-yaml-clib.yml +++ b/.github/workflows/build-ruamel-yaml-clib.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build ruamel-yaml-clib ${{ inputs.version || '0.2.15' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -115,7 +119,7 @@ jobs: publish: name: Publish ruamel-yaml-clib ${{ inputs.version || '0.2.15' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-scikit-learn.yml b/.github/workflows/build-scikit-learn.yml index 4f5d7fd03..3191fa27e 100644 --- a/.github/workflows/build-scikit-learn.yml +++ b/.github/workflows/build-scikit-learn.yml @@ -36,7 +36,11 @@ env: and loky) or (test_function_no_callback_support and processes))"' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build scikit-learn ${{ inputs.version || '1.9.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -91,6 +95,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] # auditwheel vendors the image's libgomp into the wheel, as upstream's own # build_tools/wheels/LICENSE_linux.txt documents. name: Collect GPL sources (gcc) for scikit-learn ${{ inputs.version || '1.9.0' }} @@ -112,7 +117,7 @@ jobs: publish: name: Publish scikit-learn ${{ inputs.version || '1.9.0' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-scipy.yml b/.github/workflows/build-scipy.yml index cf461b277..c1595b8d8 100644 --- a/.github/workflows/build-scipy.yml +++ b/.github/workflows/build-scipy.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build scipy ${{ inputs.version || '1.18.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -89,7 +93,7 @@ jobs: publish: name: Publish scipy ${{ inputs.version || '1.18.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-scs.yml b/.github/workflows/build-scs.yml index 7c2d3ec30..88b5400c0 100644 --- a/.github/workflows/build-scs.yml +++ b/.github/workflows/build-scs.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build scs ${{ inputs.version || '3.2.11' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -101,6 +105,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources runs-on: ubuntu-24.04-riscv @@ -126,7 +131,7 @@ jobs: publish: name: Publish scs ${{ inputs.version || '3.2.11' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-semgrep.yml b/.github/workflows/build-semgrep.yml index c203aeca5..225bd92ce 100644 --- a/.github/workflows/build-semgrep.yml +++ b/.github/workflows/build-semgrep.yml @@ -36,7 +36,11 @@ env: OPAM_SHA256: '42ba8cafa2775e574566da6d17edeafc685576bcf04e88e2cb3dbb78fbf24dec' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheel: + needs: [setup] name: Build semgrep ${{ inputs.version || '1.174.0' }} manylinux_riscv64 runs-on: ubuntu-24.04-riscv # The OCaml compiler, ~250 opam packages, 36 tree-sitter grammars and @@ -256,7 +260,7 @@ jobs: publish: name: Publish semgrep ${{ inputs.version || '1.174.0' }} to GitLab - needs: [build_wheel] + needs: [setup, build_wheel] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-sentencepiece.yml b/.github/workflows/build-sentencepiece.yml index 8e5944ab2..244e3958b 100644 --- a/.github/workflows/build-sentencepiece.yml +++ b/.github/workflows/build-sentencepiece.yml @@ -29,7 +29,11 @@ env: CIBUILDWHEEL_VERSION: '3.4.0' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build sentencepiece ${{ inputs.version || '0.2.2' }} manylinux_riscv64 runs-on: ubuntu-24.04-riscv @@ -93,7 +97,7 @@ jobs: publish: name: Publish sentencepiece ${{ inputs.version || '0.2.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-shapely.yml b/.github/workflows/build-shapely.yml index 02fdf6061..46d9a20bd 100644 --- a/.github/workflows/build-shapely.yml +++ b/.github/workflows/build-shapely.yml @@ -29,7 +29,11 @@ env: BASETAG: '2026.08.24-1' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build shapely ${{ inputs.version || '2.1.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 300 @@ -107,7 +111,7 @@ jobs: publish: name: Publish shapely ${{ inputs.version || '2.1.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-simplejson.yml b/.github/workflows/build-simplejson.yml index ee1254cb0..6ad8652af 100644 --- a/.github/workflows/build-simplejson.yml +++ b/.github/workflows/build-simplejson.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build simplejson ${{ inputs.version || '4.1.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -79,7 +83,7 @@ jobs: publish: name: Publish simplejson ${{ inputs.version || '4.1.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-simsimd.yml b/.github/workflows/build-simsimd.yml index 4271942a9..690732a9d 100644 --- a/.github/workflows/build-simsimd.yml +++ b/.github/workflows/build-simsimd.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build simsimd ${{ inputs.version || '6.5.16' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -71,6 +75,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources runs-on: ubuntu-24.04-riscv @@ -96,7 +101,7 @@ jobs: publish: name: Publish simsimd ${{ inputs.version || '6.5.16' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-snowflake-connector-python.yml b/.github/workflows/build-snowflake-connector-python.yml index a02710525..eb23de124 100644 --- a/.github/workflows/build-snowflake-connector-python.yml +++ b/.github/workflows/build-snowflake-connector-python.yml @@ -30,7 +30,11 @@ env: WIREMOCK_VERSION: '3.11.0' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build snowflake-connector-python ${{ inputs.version || '4.7.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -152,7 +156,7 @@ jobs: publish: name: Publish snowflake-connector-python ${{ inputs.version || '4.7.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-soxr.yml b/.github/workflows/build-soxr.yml index 9964bf621..0429fa1fd 100644 --- a/.github/workflows/build-soxr.yml +++ b/.github/workflows/build-soxr.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build soxr ${{ inputs.version || '1.1.0' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -78,7 +82,7 @@ jobs: publish: name: Publish soxr ${{ inputs.version || '1.1.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-spacy.yml b/.github/workflows/build-spacy.yml index c7ddd6bb5..6bd95eb71 100644 --- a/.github/workflows/build-spacy.yml +++ b/.github/workflows/build-spacy.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build spacy ${{ inputs.version || '3.8.16' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -85,7 +89,7 @@ jobs: publish: name: Publish spacy ${{ inputs.version || '3.8.16' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-sqlalchemy.yml b/.github/workflows/build-sqlalchemy.yml index b277cb209..0adf7dbae 100644 --- a/.github/workflows/build-sqlalchemy.yml +++ b/.github/workflows/build-sqlalchemy.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_sdist: + needs: [setup] name: Build sqlalchemy ${{ inputs.version || '2.0.52' }} sdist runs-on: ubuntu-latest permissions: @@ -82,7 +86,7 @@ jobs: if-no-files-found: error build_wheels: - needs: build_sdist + needs: [setup, build_sdist] name: Build sqlalchemy ${{ inputs.version || '2.0.52' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv permissions: @@ -123,7 +127,7 @@ jobs: publish: name: Publish sqlalchemy ${{ inputs.version || '2.0.52' }} to GitLab - needs: [build_sdist, build_wheels] + needs: [setup, build_sdist, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-srsly.yml b/.github/workflows/build-srsly.yml index c9224e136..a9d5ececf 100644 --- a/.github/workflows/build-srsly.yml +++ b/.github/workflows/build-srsly.yml @@ -31,7 +31,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build srsly ${{ inputs.version || '2.5.3' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -110,7 +114,7 @@ jobs: publish: name: Publish srsly ${{ inputs.version || '2.5.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-statsig-python-core.yml b/.github/workflows/build-statsig-python-core.yml index 696db6c0b..0668e5878 100644 --- a/.github/workflows/build-statsig-python-core.yml +++ b/.github/workflows/build-statsig-python-core.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build statsig-python-core ${{ inputs.version || '0.22.0' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -98,7 +102,7 @@ jobs: publish: name: Publish statsig-python-core ${{ inputs.version || '0.22.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-statsmodels.yml b/.github/workflows/build-statsmodels.yml index 011d65793..b8988c7a3 100644 --- a/.github/workflows/build-statsmodels.yml +++ b/.github/workflows/build-statsmodels.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build statsmodels ${{ inputs.version || '0.14.6' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -103,7 +107,7 @@ jobs: publish: name: Publish statsmodels ${{ inputs.version || '0.14.6' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-temporalio.yml b/.github/workflows/build-temporalio.yml index cb4c462a2..f5ea44276 100644 --- a/.github/workflows/build-temporalio.yml +++ b/.github/workflows/build-temporalio.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build temporalio ${{ inputs.version || '1.32.0' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 480 @@ -114,7 +118,7 @@ jobs: publish: name: Publish temporalio ${{ inputs.version || '1.32.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-textual-speedups.yml b/.github/workflows/build-textual-speedups.yml index 88543921b..e18187580 100644 --- a/.github/workflows/build-textual-speedups.yml +++ b/.github/workflows/build-textual-speedups.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build textual-speedups ${{ inputs.version || '0.2.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -202,7 +206,7 @@ jobs: publish: name: Publish textual-speedups ${{ inputs.version || '0.2.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-thinc.yml b/.github/workflows/build-thinc.yml index f5f34eb66..c92fc2dc3 100644 --- a/.github/workflows/build-thinc.yml +++ b/.github/workflows/build-thinc.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build thinc ${{ inputs.version || '9.1.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 300 @@ -107,7 +111,7 @@ jobs: publish: name: Publish thinc ${{ inputs.version || '9.1.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-thrift.yml b/.github/workflows/build-thrift.yml index 27e6431c1..aa062e2bd 100644 --- a/.github/workflows/build-thrift.yml +++ b/.github/workflows/build-thrift.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build thrift ${{ inputs.version || '0.24.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -97,7 +101,7 @@ jobs: publish: name: Publish thrift ${{ inputs.version || '0.24.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tibs.yml b/.github/workflows/build-tibs.yml index 238ca9a72..54e13dbea 100644 --- a/.github/workflows/build-tibs.yml +++ b/.github/workflows/build-tibs.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tibs ${{ inputs.version || '2.0.1' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 360 @@ -85,7 +89,7 @@ jobs: publish: name: Publish tibs ${{ inputs.version || '2.0.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tiktoken.yml b/.github/workflows/build-tiktoken.yml index 46ae11da6..62bb5749e 100644 --- a/.github/workflows/build-tiktoken.yml +++ b/.github/workflows/build-tiktoken.yml @@ -27,7 +27,11 @@ concurrency: cancel-in-progress: true jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: py${{ matrix.python-version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} timeout-minutes: 60 @@ -66,7 +70,7 @@ jobs: publish: name: Publish tiktoken ${{ inputs.version || '0.14.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-time-machine.yml b/.github/workflows/build-time-machine.yml index 679b0e6eb..7cb88df4a 100644 --- a/.github/workflows/build-time-machine.yml +++ b/.github/workflows/build-time-machine.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build time-machine ${{ inputs.version || '3.5.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -85,7 +89,7 @@ jobs: publish: name: Publish time-machine ${{ inputs.version || '3.5.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tomli.yml b/.github/workflows/build-tomli.yml index 792f52a77..5c76e4498 100644 --- a/.github/workflows/build-tomli.yml +++ b/.github/workflows/build-tomli.yml @@ -34,7 +34,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tomli ${{ inputs.version || '2.4.1' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -84,7 +88,7 @@ jobs: publish: name: Publish tomli ${{ inputs.version || '2.4.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-torch.yml b/.github/workflows/build-torch.yml index bd022c511..01d3a28cb 100644 --- a/.github/workflows/build-torch.yml +++ b/.github/workflows/build-torch.yml @@ -34,10 +34,11 @@ env: TORCH_VERSION: ${{ inputs.version || '2.13.0' }} jobs: + setup: + uses: $/.github/workflows/_setup.yml + docker-builds: - # Dependabot action bumps shouldn't burn a multi-hour riscv64 build; humans - # editing this workflow still trigger it via the pull_request paths filter. - if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]' + needs: [setup] runs-on: ubuntu-24.04 timeout-minutes: 360 # 6h permissions: @@ -109,6 +110,7 @@ jobs: runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 # 24h needs: + - setup - docker-builds container: image: ${{ needs.docker-builds.outputs.docker-image }} @@ -193,7 +195,7 @@ jobs: publish: name: Publish torch ${{ inputs.version || '2.13.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-torchaudio.yml b/.github/workflows/build-torchaudio.yml index 9b7dce216..53ca9afda 100644 --- a/.github/workflows/build-torchaudio.yml +++ b/.github/workflows/build-torchaudio.yml @@ -29,7 +29,11 @@ env: TORCHAUDIO_VERSION: ${{ inputs.version || '2.11.0' }} jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build torchaudio ${{ inputs.version || '2.11.0' }} cp${{ matrix.python-version }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -109,7 +113,7 @@ jobs: publish: name: Publish torchaudio ${{ inputs.version || '2.11.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tornado.yml b/.github/workflows/build-tornado.yml index ad36727de..b44908726 100644 --- a/.github/workflows/build-tornado.yml +++ b/.github/workflows/build-tornado.yml @@ -30,7 +30,11 @@ permissions: contents: read # to fetch code (actions/checkout) jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: @@ -84,7 +88,7 @@ jobs: publish: name: Publish tornado ${{ inputs.version || '6.5.8' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-bash.yml b/.github/workflows/build-tree-sitter-bash.yml index f8f3addd2..050b55034 100644 --- a/.github/workflows/build-tree-sitter-bash.yml +++ b/.github/workflows/build-tree-sitter-bash.yml @@ -28,11 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.10 limited API and tags the wheel cp310-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp310-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-bash ${{ inputs.version || '0.25.1' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -62,7 +62,7 @@ jobs: publish: name: Publish tree-sitter-bash ${{ inputs.version || '0.25.1' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-c.yml b/.github/workflows/build-tree-sitter-c.yml index b2ee956c2..3b363f6ff 100644 --- a/.github/workflows/build-tree-sitter-c.yml +++ b/.github/workflows/build-tree-sitter-c.yml @@ -29,11 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.10 limited API and tags the wheel cp310-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp310-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-c ${{ inputs.version || '0.24.2' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -72,7 +72,7 @@ jobs: publish: name: Publish tree-sitter-c ${{ inputs.version || '0.24.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-cpp.yml b/.github/workflows/build-tree-sitter-cpp.yml index 87e82ebc1..b051a3da5 100644 --- a/.github/workflows/build-tree-sitter-cpp.yml +++ b/.github/workflows/build-tree-sitter-cpp.yml @@ -28,11 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.9 limited API and tags the wheel cp39-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp39-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-cpp ${{ inputs.version || '0.23.4' }} cp39-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -62,7 +62,7 @@ jobs: publish: name: Publish tree-sitter-cpp ${{ inputs.version || '0.23.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-go.yml b/.github/workflows/build-tree-sitter-go.yml index 2a3ca460b..0d1e2a32c 100644 --- a/.github/workflows/build-tree-sitter-go.yml +++ b/.github/workflows/build-tree-sitter-go.yml @@ -28,11 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.10 limited API and tags the wheel cp310-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp310-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-go ${{ inputs.version || '0.25.0' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -62,7 +62,7 @@ jobs: publish: name: Publish tree-sitter-go ${{ inputs.version || '0.25.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-javascript.yml b/.github/workflows/build-tree-sitter-javascript.yml index 557f5d24e..3b7ded714 100644 --- a/.github/workflows/build-tree-sitter-javascript.yml +++ b/.github/workflows/build-tree-sitter-javascript.yml @@ -28,11 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.10 limited API and tags the wheel cp310-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp310-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-javascript ${{ inputs.version || '0.25.0' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -62,7 +62,7 @@ jobs: publish: name: Publish tree-sitter-javascript ${{ inputs.version || '0.25.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-language-pack.yml b/.github/workflows/build-tree-sitter-language-pack.yml index 27053b6c3..4e5236948 100644 --- a/.github/workflows/build-tree-sitter-language-pack.yml +++ b/.github/workflows/build-tree-sitter-language-pack.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-language-pack ${{ inputs.version || '1.15.8' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 720 @@ -162,7 +166,7 @@ jobs: publish: name: Publish tree-sitter-language-pack ${{ inputs.version || '1.15.8' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-languages.yml b/.github/workflows/build-tree-sitter-languages.yml index b0800591e..8c866ce5b 100644 --- a/.github/workflows/build-tree-sitter-languages.yml +++ b/.github/workflows/build-tree-sitter-languages.yml @@ -38,7 +38,11 @@ env: SETUPTOOLS_SPEC: 'setuptools<79' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-languages ${{ inputs.version || '1.10.2' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 240 @@ -92,7 +96,7 @@ jobs: publish: name: Publish tree-sitter-languages ${{ inputs.version || '1.10.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-python.yml b/.github/workflows/build-tree-sitter-python.yml index ddd976026..36abd0dac 100644 --- a/.github/workflows/build-tree-sitter-python.yml +++ b/.github/workflows/build-tree-sitter-python.yml @@ -28,11 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.10 limited API and tags the wheel cp310-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp310-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-python ${{ inputs.version || '0.25.0' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -62,7 +62,7 @@ jobs: publish: name: Publish tree-sitter-python ${{ inputs.version || '0.25.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tree-sitter-rust.yml b/.github/workflows/build-tree-sitter-rust.yml index 75e9202c0..e876980c4 100644 --- a/.github/workflows/build-tree-sitter-rust.yml +++ b/.github/workflows/build-tree-sitter-rust.yml @@ -28,11 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py builds against the 3.9 limited API and tags the wheel cp39-abi3, so - # one wheel covers every non-free-threaded CPython; cibuildwheel builds it on - # cp312 and re-tests it on cp313/cp314 (find_compatible_wheel). Upstream builds - # `cp39-*` only and publishes no free-threaded wheel, so there is no cp314t job. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tree-sitter-rust ${{ inputs.version || '0.24.2' }} cp39-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 120 @@ -62,7 +62,7 @@ jobs: publish: name: Publish tree-sitter-rust ${{ inputs.version || '0.24.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-tzfpy.yml b/.github/workflows/build-tzfpy.yml index f1e752f1a..cd33b955e 100644 --- a/.github/workflows/build-tzfpy.yml +++ b/.github/workflows/build-tzfpy.yml @@ -29,7 +29,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build tzfpy ${{ inputs.version || '1.3.3' }} ${{ matrix.tag }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 180 @@ -89,7 +93,7 @@ jobs: publish: name: Publish tzfpy ${{ inputs.version || '1.3.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-uuid-utils.yml b/.github/workflows/build-uuid-utils.yml index 1033dc32c..f79fd9bc0 100644 --- a/.github/workflows/build-uuid-utils.yml +++ b/.github/workflows/build-uuid-utils.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build uuid-utils ${{ inputs.version || '0.17.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -72,7 +76,7 @@ jobs: publish: name: Publish uuid-utils ${{ inputs.version || '0.17.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-wandb.yml b/.github/workflows/build-wandb.yml index 696693e80..b3c83d7da 100644 --- a/.github/workflows/build-wandb.yml +++ b/.github/workflows/build-wandb.yml @@ -32,7 +32,11 @@ env: RUST_TOOLCHAIN: '1.88.0' jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build wandb ${{ inputs.version || '0.28.2' }} py3-none-manylinux_riscv64 runs-on: ubuntu-24.04-riscv # musllinux is dropped: rustup ships no riscv64 musl host toolchain, and the @@ -132,7 +136,7 @@ jobs: publish: name: Publish wandb ${{ inputs.version || '0.28.2' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-xattr.yml b/.github/workflows/build-xattr.yml index f76982af6..c1345f758 100644 --- a/.github/workflows/build-xattr.yml +++ b/.github/workflows/build-xattr.yml @@ -28,7 +28,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build xattr ${{ inputs.version || '1.3.0' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -64,7 +68,7 @@ jobs: publish: name: Publish xattr ${{ inputs.version || '1.3.0' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-xgboost.yml b/.github/workflows/build-xgboost.yml index 689e90ca4..14f605439 100644 --- a/.github/workflows/build-xgboost.yml +++ b/.github/workflows/build-xgboost.yml @@ -33,7 +33,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build xgboost ${{ inputs.version || '3.4.1' }} py3-none-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 1440 @@ -105,6 +109,7 @@ jobs: if-no-files-found: error gpl_sources: + needs: [setup] name: Collect GPL sources (gcc) for xgboost ${{ inputs.version || '3.4.1' }} runs-on: ubuntu-24.04-riscv steps: @@ -124,7 +129,7 @@ jobs: publish: name: Publish xgboost ${{ inputs.version || '3.4.1' }} to GitLab - needs: [build_wheels, gpl_sources] + needs: [setup, build_wheels, gpl_sources] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-xgrammar.yml b/.github/workflows/build-xgrammar.yml index ebf7db581..b3ccf6546 100644 --- a/.github/workflows/build-xgrammar.yml +++ b/.github/workflows/build-xgrammar.yml @@ -27,7 +27,11 @@ env: XGRAMMAR_VERSION: ${{ inputs.version || '0.2.4' }} jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build xgrammar ${{ inputs.version || '0.2.4' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -96,7 +100,7 @@ jobs: publish: name: Publish xgrammar ${{ inputs.version || '0.2.4' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-yappi.yml b/.github/workflows/build-yappi.yml index a47e10d3a..f27697a6c 100644 --- a/.github/workflows/build-yappi.yml +++ b/.github/workflows/build-yappi.yml @@ -30,7 +30,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build yappi ${{ inputs.version || '1.7.6' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -68,7 +72,7 @@ jobs: publish: name: Publish yappi ${{ inputs.version || '1.7.6' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-zope-interface.yml b/.github/workflows/build-zope-interface.yml index f51183036..f02b7d02c 100644 --- a/.github/workflows/build-zope-interface.yml +++ b/.github/workflows/build-zope-interface.yml @@ -27,7 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build zope-interface ${{ inputs.version || '8.6' }} ${{ matrix.python }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 60 @@ -72,7 +76,7 @@ jobs: publish: name: Publish zope-interface ${{ inputs.version || '8.6' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-zopfli.yml b/.github/workflows/build-zopfli.yml index 4ea1ee149..c43c79bf1 100644 --- a/.github/workflows/build-zopfli.yml +++ b/.github/workflows/build-zopfli.yml @@ -27,11 +27,11 @@ env: MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: - # setup.py passes py_limited_api=cp310 to bdist_wheel, so one wheel covers every - # non-free-threaded CPython >= 3.10. Upstream skips cp314t (setup.py disables the - # limited API under Py_GIL_DISABLED and there is no abi3t support yet), so there - # is no free-threaded wheel to mirror. + setup: + uses: $/.github/workflows/_setup.yml + build_wheels: + needs: [setup] name: Build zopfli ${{ inputs.version || '0.4.3' }} cp310-abi3-manylinux_riscv64 runs-on: ubuntu-24.04-riscv timeout-minutes: 90 @@ -72,7 +72,7 @@ jobs: publish: name: Publish zopfli ${{ inputs.version || '0.4.3' }} to GitLab - needs: [build_wheels] + needs: [setup, build_wheels] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/build-zstandard.yml b/.github/workflows/build-zstandard.yml index 001fd9387..54bcbf44f 100644 --- a/.github/workflows/build-zstandard.yml +++ b/.github/workflows/build-zstandard.yml @@ -31,10 +31,11 @@ env: CIBUILDWHEEL_VERSION: '4.1.0' jobs: - # Upstream's Linux job builds a py x arch x abi x image matrix. On riscv64 - # only one image exists, and musllinux is left out for now, so the matrix - # collapses to the Python versions. + setup: + uses: $/.github/workflows/_setup.yml + linux: + needs: [setup] name: Build zstandard ${{ inputs.version || '0.25.0' }} ${{ matrix.py }}-manylinux_riscv64 runs-on: ubuntu-24.04-riscv strategy: @@ -98,7 +99,7 @@ jobs: publish: name: Publish zstandard ${{ inputs.version || '0.25.0' }} to GitLab - needs: [linux] + needs: [setup, linux] runs-on: ubuntu-latest permissions: contents: write diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index fda27eaec..58a9d6b81 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,8 +18,14 @@ concurrency: group: docs-${{ github.ref }} jobs: + setup: + if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]' + runs-on: ubuntu-latest + steps: + - run: true + preview: - if: github.event_name == 'pull_request' + needs: [setup] runs-on: ubuntu-latest permissions: contents: write @@ -85,6 +91,7 @@ jobs: deploy: if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' + needs: [setup] runs-on: ubuntu-latest permissions: contents: write