2026-07-12 nightly release (2aac435dff5ef0e80f3b03a43415067ea082d416) #2675
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: RTX - Build and test Linux x86_64 wheels | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - nightly | |
| - release/* | |
| tags: | |
| # NOTE: Binary build pipelines should only get triggered on release candidate builds | |
| # Release candidate tags look like: v1.11.0-rc1 | |
| - v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+ | |
| workflow_dispatch: | |
| jobs: | |
| # All build/test logic lives in the shared reusable core; this workflow | |
| # just selects TensorRT-RTX (use-rtx: true). See | |
| # .github/workflows/_linux-x86_64-core.yml. | |
| core: | |
| permissions: | |
| id-token: write | |
| contents: read | |
| uses: ./.github/workflows/_linux-x86_64-core.yml | |
| with: | |
| use-rtx: true | |
| name-prefix: "RTX - " | |
| # Single rollup status for the RTX matrix; mirror the non-RTX workflow's | |
| # ci-rollup so branch protection can require one check per workflow. | |
| ci-rollup: | |
| name: CI / Linux x86_64 (RTX) | |
| if: ${{ always() }} | |
| permissions: {} | |
| needs: [core] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Aggregate job results | |
| env: | |
| RESULTS: ${{ needs.core.outputs.results }} | |
| # Safety net: fail the rollup if the core call concluded | |
| # failure/cancelled even when its results output came back empty. | |
| CORE_RESULT: ${{ needs.core.result }} | |
| # Surface a label so the markdown summary disambiguates RTX vs standard. | |
| WORKFLOW_LABEL: "Linux x86_64 (RTX)" | |
| run: | | |
| set -euo pipefail | |
| # Same logic as the non-RTX rollup: stdout for the rollup status, | |
| # $GITHUB_STEP_SUMMARY for the reviewer-facing markdown table. | |
| python3 - <<'PY' | |
| import json, os, sys | |
| raw = os.environ.get("RESULTS") or "{}" | |
| core_result = os.environ.get("CORE_RESULT", "") | |
| try: | |
| needs = json.loads(raw) | |
| except json.JSONDecodeError: | |
| needs = {} | |
| label = os.environ.get("WORKFLOW_LABEL", "Linux x86_64") | |
| by_result = {"success": [], "failure": [], "skipped": [], "cancelled": []} | |
| for name, info in needs.items(): | |
| by_result.setdefault(info.get("result") or "unknown", []).append(name) | |
| failed = sorted(by_result["failure"]) | |
| passed = sorted(by_result["success"]) | |
| skipped = sorted(by_result["skipped"]) | |
| cancelled = sorted(by_result["cancelled"]) | |
| print(f"PASS: {len(passed)}") | |
| print(f"FAIL: {len(failed)}") | |
| print(f"SKIPPED: {len(skipped)} (label-gated or never started)") | |
| print(f"CANCELLED: {len(cancelled)}") | |
| if failed: | |
| print() | |
| print("Failed jobs:") | |
| for name in failed: | |
| print(f" - {name}") | |
| summary_path = os.environ.get("GITHUB_STEP_SUMMARY") | |
| if summary_path: | |
| icon = {"success": "✅", "failure": "❌", "skipped": "⏭️", "cancelled": "🚫"} | |
| with open(summary_path, "a", encoding="utf-8") as f: | |
| f.write(f"# CI / {label} — rollup\n\n") | |
| f.write( | |
| f"**{len(passed)}** passed · " | |
| f"**{len(failed)}** failed · " | |
| f"**{len(skipped)}** skipped · " | |
| f"**{len(cancelled)}** cancelled\n\n" | |
| ) | |
| f.write("| Result | Job |\n|---|---|\n") | |
| for status in ("failure", "cancelled", "skipped", "success"): | |
| for name in sorted(by_result.get(status, [])): | |
| f.write(f"| {icon.get(status, '?')} {status} | `{name}` |\n") | |
| if failed: | |
| f.write( | |
| "\n> Click into a failed job above to see the " | |
| "rendered test table (via `pytest-results-action`) " | |
| "and the `::warning::Reproduce locally with: ...` " | |
| "hint near the bottom of the log.\n" | |
| ) | |
| if failed or core_result not in ("success", "skipped", ""): | |
| if core_result not in ("success", "skipped", "") and not failed: | |
| print(f"\nCore reusable workflow concluded '{core_result}' " | |
| f"with no per-job results; failing rollup defensively.") | |
| sys.exit(1) | |
| PY | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.event_name == 'workflow_dispatch' }} | |
| cancel-in-progress: true |