fix(ci): require Python runtime release path

This commit is contained in:
Yichen Jiang
2026-08-12 16:30:35 +08:00
parent e9dfb30cdf
commit 08941c71e3
15 changed files with 342 additions and 105 deletions
@@ -20,6 +20,11 @@ on:
type: boolean
required: false
default: false
ci:
description: Run as the required Linux x64 Python runtime pull-request check.
type: boolean
required: false
default: false
workflow_dispatch:
inputs:
targets:
@@ -35,8 +40,9 @@ on:
concurrency:
# Keep the called workflow distinct from its caller's concurrency group;
# github.workflow identifies the caller inside a reusable workflow.
group: build-single-exe-${{ github.ref }}
# github.workflow identifies the caller inside a reusable workflow and keeps
# an ordinary CI run from cancelling a full release validation on the same ref.
group: build-single-exe-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
@@ -52,7 +58,7 @@ jobs:
# construct the matrix before the dependent jobs.
plan:
name: plan targets
if: inputs.release || github.event_name == 'workflow_dispatch' || github.event.label.name == 'build-exe'
if: inputs.ci || inputs.release || github.event_name == 'workflow_dispatch' || github.event.label.name == 'build-exe'
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
+13 -1
View File
@@ -300,6 +300,18 @@ jobs:
- name: Run complete keyless Python suite
run: uv run --python 3.10 --group test --project python/sdk pytest
# One native target makes the complete release-shaped Python path required
# without duplicating platform-independent behavior across the release matrix.
# The reusable builder owns the executable, snapshot, wheel, clean-install,
# GLIBC, and manylinux checks; release validation retains all native targets.
python-runtime:
if: github.event_name == 'pull_request'
name: python runtime / release-shaped Linux x64
uses: ./.github/workflows/build-exe-for-python-sdk.yml
with:
targets: node24-linux-x64
ci: true
# The required pull-request Windows signal: the two blocking win32 surfaces
# (workspace build, production site) execute with real, checksum-verified
# Windows Node under Wine on standard hosted Linux. The independent
@@ -895,7 +907,7 @@ jobs:
&& github.event.pull_request.user.login != 'dependabot[bot]'
&& fromJSON('["self-hosted", "linux", "x64", "vm-backup"]')
|| 'ubuntu-latest' }}
needs: [node-24, node-24-coverage, node-24-consumers, node-compat, python-sdk, windows]
needs: [node-24, node-24-coverage, node-24-consumers, node-compat, python-sdk, python-runtime, windows]
if: always() && github.event_name == 'pull_request'
steps:
- name: Fail if any needed job did not succeed