Files
2026-07-13 12:24:33 +08:00

53 lines
1.8 KiB
YAML

name: PR Full Build
# Build all release artifacts (sdist + CUDA wheel, CLI wheel, cu129 wheel)
# on PRs carrying the `full` label. The `full` label is added automatically
# by automerge-labeler.yml when auto-merge is enabled on a code-change PR,
# so this acts as a pre-merge sanity check that wheels still build.
#
# No tests, no code-quality checks, no publishing — those are covered by
# test.yml / code_quality_checks.yml (per-PR) and publish.yml (on merge).
on:
pull_request:
branches:
- dev
- "release-**"
types: [opened, synchronize, reopened, labeled]
# Cancel older in-flight runs on the same PR. github.ref is
# refs/pull/<N>/merge on pull_request events, so each PR gets its own group.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
# Each build runs independently — a failure in one does not skip the
# others, matching publish.yml's isolation model.
build-main:
name: Build main
if: contains(github.event.pull_request.labels.*.name, 'full')
uses: ./.github/workflows/build_main_artifacts.yml
build-cli:
name: Build CLI
if: contains(github.event.pull_request.labels.*.name, 'full')
uses: ./.github/workflows/build_cli_artifacts.yml
build-cpu:
name: Build CPU
if: contains(github.event.pull_request.labels.*.name, 'full')
uses: ./.github/workflows/build_cpu_artifacts.yml
build-cu129:
name: Build cu129
if: contains(github.event.pull_request.labels.*.name, 'full')
uses: ./.github/workflows/build_cu129_artifacts.yml
# Fork PRs won't expose DOCKERHUB_TOKEN even with `inherit`; the login
# step in build_cu129_artifacts.yml guards on the token being non-empty.
secrets: inherit