From 1a4cc729349077ccddecc3ab0a19fe29cdb40836 Mon Sep 17 00:00:00 2001 From: Hermes Date: Tue, 3 Nov 2026 18:57:18 +0900 Subject: [PATCH] ci: use shared runners for general workflows --- .github/workflows/actions-queue-health.yml | 4 +- .../agent-mention-noema-dispatch.yml | 4 +- .../agent-mention-opencode-dispatch.yml | 4 +- .../agent-mention-router-quality-ci.yml | 4 +- .../agent-review-runtime-quality-ci.yml | 4 +- .github/workflows/audit-central-ruleset.yml | 4 +- .github/workflows/cloudflare-dns.yml | 4 +- .github/workflows/codeql-pr.yml | 12 +++--- .../company-default-head-trust-gate.yml | 4 +- .../workflows/company-settlement-validate.yml | 4 +- .github/workflows/dependency-review.yml | 4 +- .github/workflows/deploy-pages.yml | 4 +- .../exact-artifact-sbom-attestation.yml | 8 ++-- .../exact-head-coverage-quality-gate.yml | 4 +- .github/workflows/fast-mlsirm-cflite_pr.yml | 4 +- .github/workflows/fast-mlsirm-ci.yml | 24 +++++------ .github/workflows/fast-mlsirm-codeql.yml | 8 ++-- .../fast-mlsirm-hourly-pr-governance.yml | 4 +- .../workflows/fast-mlsirm-publish-pypi.yml | 40 +++++++++---------- .../workflows/fast-mlsirm-pypi-gap-guard.yml | 4 +- .github/workflows/fast-mlsirm-release-tag.yml | 4 +- .../fast-mlsirm-statistical-studies.yml | 20 +++++----- .github/workflows/noema-review.yml | 20 +++++----- .../opencode-review-coalesce-tick.yml | 4 +- .../workflows/opencode-review-dispatch.yml | 4 +- .github/workflows/opencode-review.yml | 24 +++++------ ...organization-commercial-readiness-loop.yml | 4 +- .github/workflows/pg-erd-cloud-quality.yml | 8 ++-- .github/workflows/pr-auto-rebase.yml | 4 +- .github/workflows/pr-review-autofix.yml | 4 +- .github/workflows/pr-review-fix-scheduler.yml | 4 +- .../workflows/psychometrics-commons-ci.yml | 12 +++--- .github/workflows/python-security.yml | 12 +++--- .github/workflows/r-package-check.yml | 8 ++-- .../release-dependency-license-strix-gate.yml | 16 ++++---- .../repository-metadata-reconcile.yml | 8 ++-- .github/workflows/sast-semgrep.yml | 4 +- .github/workflows/sbom-generation.yml | 4 +- .../workflows/sbom-inventory-scheduler.yml | 4 +- .github/workflows/scheduled-security-scan.yml | 12 +++--- .github/workflows/scorecard-analysis.yml | 4 +- .github/workflows/secret-scan.yml | 4 +- .github/workflows/security-scan.yml | 24 +++++------ .github/workflows/strix.yml | 24 +++++------ .../workflows/tepp-documentation-quality.yml | 4 +- .github/workflows/tepp-rust-foundation-ci.yml | 16 ++++---- .../workflows/traveling-agent-poc-quality.yml | 4 +- .../trusted-uv-materializer-quality-ci.yml | 8 ++-- 48 files changed, 210 insertions(+), 210 deletions(-) diff --git a/.github/workflows/actions-queue-health.yml b/.github/workflows/actions-queue-health.yml index febf0679b2..25429380dd 100644 --- a/.github/workflows/actions-queue-health.yml +++ b/.github/workflows/actions-queue-health.yml @@ -16,8 +16,8 @@ jobs: collect: name: Collect exact-head queue evidence runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 30 permissions: contents: read diff --git a/.github/workflows/agent-mention-noema-dispatch.yml b/.github/workflows/agent-mention-noema-dispatch.yml index c2729b9819..8fd4777473 100644 --- a/.github/workflows/agent-mention-noema-dispatch.yml +++ b/.github/workflows/agent-mention-noema-dispatch.yml @@ -29,8 +29,8 @@ jobs: validate-and-forward: if: github.repository == 'ContextualWisdomLab/.github' runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: actions: read diff --git a/.github/workflows/agent-mention-opencode-dispatch.yml b/.github/workflows/agent-mention-opencode-dispatch.yml index 221a5bdb74..6b58bd4a4d 100644 --- a/.github/workflows/agent-mention-opencode-dispatch.yml +++ b/.github/workflows/agent-mention-opencode-dispatch.yml @@ -29,8 +29,8 @@ jobs: validate-and-forward: if: github.repository == 'ContextualWisdomLab/.github' runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: actions: read diff --git a/.github/workflows/agent-mention-router-quality-ci.yml b/.github/workflows/agent-mention-router-quality-ci.yml index 57030437ef..cf8d346637 100644 --- a/.github/workflows/agent-mention-router-quality-ci.yml +++ b/.github/workflows/agent-mention-router-quality-ci.yml @@ -47,8 +47,8 @@ env: jobs: quality: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 20 steps: - name: Harden runner diff --git a/.github/workflows/agent-review-runtime-quality-ci.yml b/.github/workflows/agent-review-runtime-quality-ci.yml index 38f617e7d6..5617af081d 100644 --- a/.github/workflows/agent-review-runtime-quality-ci.yml +++ b/.github/workflows/agent-review-runtime-quality-ci.yml @@ -150,8 +150,8 @@ jobs: agent_review_runtime_quality: name: agent-review-runtime-quality runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 25 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true diff --git a/.github/workflows/audit-central-ruleset.yml b/.github/workflows/audit-central-ruleset.yml index e735ae1923..feeed94e38 100644 --- a/.github/workflows/audit-central-ruleset.yml +++ b/.github/workflows/audit-central-ruleset.yml @@ -26,8 +26,8 @@ jobs: audit: name: Audit organization ruleset 18156473 runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} env: GH_TOKEN: ${{ secrets.PR_REVIEW_MERGE_TOKEN || secrets.OPENCODE_APPROVE_TOKEN || github.token }} steps: diff --git a/.github/workflows/cloudflare-dns.yml b/.github/workflows/cloudflare-dns.yml index 6b23e3b053..8a73a36e30 100644 --- a/.github/workflows/cloudflare-dns.yml +++ b/.github/workflows/cloudflare-dns.yml @@ -45,8 +45,8 @@ jobs: reconcile: name: Reconcile zones (${{ github.event.client_payload.mode || 'dry-run' }}) runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] steps: - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/codeql-pr.yml b/.github/workflows/codeql-pr.yml index d8957ad247..4104799079 100644 --- a/.github/workflows/codeql-pr.yml +++ b/.github/workflows/codeql-pr.yml @@ -61,8 +61,8 @@ jobs: # Draft PRs get no runner; ready_for_review re-runs this on the same head. if: (github.event.action != 'closed') && (github.event.pull_request.draft != true || github.event.action == 'converted_to_draft' || github.event.action == 'closed') runs-on: - group: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: contents: read @@ -167,8 +167,8 @@ jobs: # closed PR, where this job being implicitly skipped too is fine because # closed PRs need no required check. runs-on: - group: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} # Verdict reads have exceeded five minutes; retain the ten-minute control budget. timeout-minutes: 10 permissions: @@ -522,8 +522,8 @@ jobs: && needs.detect-languages.result == 'success' && needs.detect-languages.outputs.code == 'true' runs-on: - group: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (fromJSON(github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/codeql-pr.yml@refs/heads/main' && '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}' || '{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: contents: read diff --git a/.github/workflows/company-default-head-trust-gate.yml b/.github/workflows/company-default-head-trust-gate.yml index 08745e92d0..a59e12bf1b 100644 --- a/.github/workflows/company-default-head-trust-gate.yml +++ b/.github/workflows/company-default-head-trust-gate.yml @@ -24,8 +24,8 @@ permissions: jobs: validate: runs-on: - group: CWL CI isolated - labels: [self-hosted, Linux, X64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, Linux, X64] timeout-minutes: 5 outputs: runner_matrix: ${{ steps.runner.outputs.runner_matrix }} diff --git a/.github/workflows/company-settlement-validate.yml b/.github/workflows/company-settlement-validate.yml index 2cd0498ba3..f6e2576034 100644 --- a/.github/workflows/company-settlement-validate.yml +++ b/.github/workflows/company-settlement-validate.yml @@ -7,8 +7,8 @@ permissions: jobs: validate: runs-on: - group: CWL CI isolated - labels: [self-hosted, Linux, X64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, Linux, X64] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with: diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index fc63256794..8fb87fa253 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -94,8 +94,8 @@ permissions: jobs: dependency-review: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] env: # Opts every JS action this job runs (checkout, dependency-review-action) # into the Node 24 actions runtime ahead of GitHub's default cutover, diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml index 8097a8c1aa..20287c089c 100644 --- a/.github/workflows/deploy-pages.yml +++ b/.github/workflows/deploy-pages.yml @@ -46,8 +46,8 @@ jobs: deploy_pages: name: Deploy ${{ inputs.project_name }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] steps: - name: Checkout caller repo uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/exact-artifact-sbom-attestation.yml b/.github/workflows/exact-artifact-sbom-attestation.yml index 1e280ecb4f..b91971b48a 100644 --- a/.github/workflows/exact-artifact-sbom-attestation.yml +++ b/.github/workflows/exact-artifact-sbom-attestation.yml @@ -65,8 +65,8 @@ jobs: verify-evidence-artifact: name: Verify inert sealed evidence runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 permissions: actions: read @@ -183,8 +183,8 @@ jobs: name: Attest exact wheel and sdist SBOMs needs: verify-evidence-artifact runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 20 permissions: actions: read diff --git a/.github/workflows/exact-head-coverage-quality-gate.yml b/.github/workflows/exact-head-coverage-quality-gate.yml index f0670a4b50..499d2d3a29 100644 --- a/.github/workflows/exact-head-coverage-quality-gate.yml +++ b/.github/workflows/exact-head-coverage-quality-gate.yml @@ -38,8 +38,8 @@ permissions: jobs: quality-gate: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: ${{ inputs.timeout_minutes }} steps: - name: Checkout exact source revision diff --git a/.github/workflows/fast-mlsirm-cflite_pr.yml b/.github/workflows/fast-mlsirm-cflite_pr.yml index 47d9e16f97..88f088b973 100644 --- a/.github/workflows/fast-mlsirm-cflite_pr.yml +++ b/.github/workflows/fast-mlsirm-cflite_pr.yml @@ -10,8 +10,8 @@ jobs: PR: if: ${{ !github.event.pull_request.draft && github.event.action != 'closed' }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write diff --git a/.github/workflows/fast-mlsirm-ci.yml b/.github/workflows/fast-mlsirm-ci.yml index 6a851d9833..304ddbee54 100644 --- a/.github/workflows/fast-mlsirm-ci.yml +++ b/.github/workflows/fast-mlsirm-ci.yml @@ -21,8 +21,8 @@ jobs: if: ${{ github.event_name != 'pull_request' || (!github.event.pull_request.draft && github.event.action != 'closed') }} name: python (${{ matrix.python-version }}) runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] strategy: fail-fast: false matrix: @@ -51,8 +51,8 @@ jobs: needs: python-matrix if: ${{ always() && (github.event_name != 'pull_request' || (!github.event.pull_request.draft && github.event.action != 'closed')) }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] steps: - name: Require every CPython matrix leg run: | @@ -63,8 +63,8 @@ jobs: rust: if: ${{ github.event_name != 'pull_request' || (!github.event.pull_request.draft && github.event.action != 'closed') }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with: @@ -92,8 +92,8 @@ jobs: # non-execution allowlist entry. The full paper-design recovery study # remains in the scheduled/manual workflow. runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 240 env: WGPU_BACKEND: vulkan @@ -229,8 +229,8 @@ jobs: # dev extra); this job adds the Atheris coverage-guided harnesses with a # ~60s-per-target budget. Longer campaigns can be run nightly if desired. runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with: @@ -280,8 +280,8 @@ jobs: package: if: ${{ github.event_name != 'pull_request' || (!github.event.pull_request.draft && github.event.action != 'closed') }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with: diff --git a/.github/workflows/fast-mlsirm-codeql.yml b/.github/workflows/fast-mlsirm-codeql.yml index 18800abe22..31d0e87306 100644 --- a/.github/workflows/fast-mlsirm-codeql.yml +++ b/.github/workflows/fast-mlsirm-codeql.yml @@ -16,8 +16,8 @@ jobs: # on PRs. Default setup is disabled; this reusable workflow uploads SARIF. name: Analyze (actions) runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write @@ -39,8 +39,8 @@ jobs: if: github.event_name == 'workflow_dispatch' name: Analyze (python) runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write diff --git a/.github/workflows/fast-mlsirm-hourly-pr-governance.yml b/.github/workflows/fast-mlsirm-hourly-pr-governance.yml index 0188e2dd52..e7e1243c24 100644 --- a/.github/workflows/fast-mlsirm-hourly-pr-governance.yml +++ b/.github/workflows/fast-mlsirm-hourly-pr-governance.yml @@ -16,8 +16,8 @@ jobs: governance-evidence: name: Hourly PR queue governance evidence runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 steps: - name: Check out reviewed source diff --git a/.github/workflows/fast-mlsirm-publish-pypi.yml b/.github/workflows/fast-mlsirm-publish-pypi.yml index 325974b0c4..62726f198c 100644 --- a/.github/workflows/fast-mlsirm-publish-pypi.yml +++ b/.github/workflows/fast-mlsirm-publish-pypi.yml @@ -26,8 +26,8 @@ jobs: verify-release: name: verify release provenance runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 5 outputs: release_commit: ${{ steps.release-source.outputs.value }} @@ -160,8 +160,8 @@ jobs: name: sdist needs: verify-release runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 env: SOURCE_DATE_EPOCH: ${{ needs.verify-release.outputs.source_date_epoch }} @@ -395,8 +395,8 @@ jobs: name: publication disabled (release runner matrix unavailable) needs: [sdist] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 1 steps: - name: Fail closed while required release runners are unavailable @@ -413,8 +413,8 @@ jobs: name: wheels (${{ matrix.target }}, py${{ matrix.python-version }}) needs: [verify-release, sdist] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 90 env: SOURCE_DATE_EPOCH: ${{ needs.verify-release.outputs.source_date_epoch }} @@ -733,8 +733,8 @@ jobs: name: macOS x86 runtime ${{ matrix.python-version }} needs: [verify-release, wheels] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 20 permissions: contents: read @@ -821,8 +821,8 @@ jobs: name: reproducibility record needs: [verify-release, sdist, wheels, macos-x86-runtime] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 5 permissions: contents: read @@ -1129,8 +1129,8 @@ jobs: name: release admission needs: [verify-release, reproducibility-record, dependency-gate] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 permissions: contents: read @@ -1603,8 +1603,8 @@ jobs: name: create tag and release after admission needs: [verify-release, release-admission] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 permissions: contents: write @@ -1868,8 +1868,8 @@ jobs: name: attach release assets needs: [sdist, wheels, reproducibility-record, release-admission, create-tag-and-release] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 permissions: contents: write @@ -1945,8 +1945,8 @@ jobs: name: publish to PyPI needs: [sdist, wheels, reproducibility-record, release-admission, create-tag-and-release] runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 environment: pypi permissions: diff --git a/.github/workflows/fast-mlsirm-pypi-gap-guard.yml b/.github/workflows/fast-mlsirm-pypi-gap-guard.yml index cfcfb3a3a2..9018878673 100644 --- a/.github/workflows/fast-mlsirm-pypi-gap-guard.yml +++ b/.github/workflows/fast-mlsirm-pypi-gap-guard.yml @@ -20,8 +20,8 @@ concurrency: jobs: recover-missing-pypi: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 permissions: contents: read diff --git a/.github/workflows/fast-mlsirm-release-tag.yml b/.github/workflows/fast-mlsirm-release-tag.yml index 54c662b2d8..0301243b81 100644 --- a/.github/workflows/fast-mlsirm-release-tag.yml +++ b/.github/workflows/fast-mlsirm-release-tag.yml @@ -21,8 +21,8 @@ concurrency: jobs: publish-release-tag: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 permissions: contents: read diff --git a/.github/workflows/fast-mlsirm-statistical-studies.yml b/.github/workflows/fast-mlsirm-statistical-studies.yml index ff4650cfd4..3ffabf0ed6 100644 --- a/.github/workflows/fast-mlsirm-statistical-studies.yml +++ b/.github/workflows/fast-mlsirm-statistical-studies.yml @@ -19,8 +19,8 @@ jobs: rust-ignored: name: Ignored Rust studies shard ${{ matrix.shard }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] # Large Monte Carlo recovery tests are real evidence, not a reason to # silently discard a shard after the helper's default 30-minute bound. timeout-minutes: 180 @@ -54,8 +54,8 @@ jobs: rust-pyo3-ignored: name: Ignored PyO3 studies runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 60 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 @@ -69,8 +69,8 @@ jobs: rust-recovery: name: Literature CPU recovery studies runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 120 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 @@ -103,8 +103,8 @@ jobs: grm-recovery: name: GRM 500-rep recovery study runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 120 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 @@ -135,8 +135,8 @@ jobs: gpu-recovery: name: Literature GPU recovery parity runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 90 env: WGPU_BACKEND: vulkan diff --git a/.github/workflows/noema-review.yml b/.github/workflows/noema-review.yml index cb9d671694..7da3e6d275 100644 --- a/.github/workflows/noema-review.yml +++ b/.github/workflows/noema-review.yml @@ -42,8 +42,8 @@ jobs: && github.event.pull_request.head.repo.full_name == github.repository ) runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 outputs: admitted: ${{ steps.live_head.outputs.admitted }} @@ -146,8 +146,8 @@ jobs: # path, matching strix.yml's identical repository_dispatch behavior. if: github.event_name != 'pull_request_target' || (github.event.action != 'closed' && github.event.action != 'converted_to_draft') runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: contents: read @@ -204,8 +204,8 @@ jobs: github.event_name == 'pull_request_target' && (github.event.action == 'closed' || github.event.action == 'converted_to_draft') runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} # Bound this job well short of GitHub's 360-minute platform default. Its # only step is a single-repository, status-filtered gh api --paginate # list-and-cancel sweep (up to 3 passes x 5 statuses), no branch update @@ -384,8 +384,8 @@ jobs: name: noema-review needs: [admit-current-head, changed-scope] runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} # No job-level timeout-minutes here, deliberately. This job's "Prepare # Noema model verdict" step calls two_phase.py's call_llm synchronously # via the contextual-orchestrator gateway and blocks on the model's own @@ -1131,8 +1131,8 @@ jobs: && needs.noema-review.outputs.transport_capacity_unavailable == 'true' && needs.noema-review.outputs.transport_retry_eligible == 'true' runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/contextual-orchestrator' || github.repository == 'ContextualWisdomLab/fast-mlsirm' || github.repository == 'ContextualWisdomLab/cwl-telemetry' || github.repository == 'ContextualWisdomLab/naruon' || github.repository == 'ContextualWisdomLab/late-life-anxiety-reanalysis' || github.repository == 'ContextualWisdomLab/tokyo-travel-2026') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/noema-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 10 permissions: contents: write diff --git a/.github/workflows/opencode-review-coalesce-tick.yml b/.github/workflows/opencode-review-coalesce-tick.yml index b676654592..be055d7c96 100644 --- a/.github/workflows/opencode-review-coalesce-tick.yml +++ b/.github/workflows/opencode-review-coalesce-tick.yml @@ -55,8 +55,8 @@ jobs: # an inert echo under the org concurrent-job ceiling. if: vars.OPENCODE_REVIEW_COALESCE_ENABLED == 'true' && github.repository == 'ContextualWisdomLab/.github' && github.event_name == 'schedule' && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review-coalesce-tick.yml@refs/heads/main' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 4 permissions: actions: write diff --git a/.github/workflows/opencode-review-dispatch.yml b/.github/workflows/opencode-review-dispatch.yml index cb3f10e0f6..b5e7a59100 100644 --- a/.github/workflows/opencode-review-dispatch.yml +++ b/.github/workflows/opencode-review-dispatch.yml @@ -467,8 +467,8 @@ jobs: # Pull-request merge-tree tests run only on the clean-per-job isolated pool. # Keep metadata and review publication on their separate trusted jobs. runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 300 permissions: # Private source uses a same-run artifact; public source uses tokenless Git. diff --git a/.github/workflows/opencode-review.yml b/.github/workflows/opencode-review.yml index afd4649127..32215ec75f 100644 --- a/.github/workflows/opencode-review.yml +++ b/.github/workflows/opencode-review.yml @@ -44,8 +44,8 @@ jobs: # docs/doctoring/actions-capacity-root-cause-20260917.md for the # underlying measurement methodology. runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} permissions: contents: read pull-requests: read @@ -311,8 +311,8 @@ jobs: # or truncated file list reviews everything. if: (github.event_name != 'pull_request_target' || (github.event.action != 'closed' && github.event.action != 'converted_to_draft')) && (github.event.pull_request.draft != true || github.event.action == 'converted_to_draft' || github.event.action == 'closed') runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: contents: read @@ -367,8 +367,8 @@ jobs: needs: [required-workflow-bootstrap] if: needs.required-workflow-bootstrap.outputs.admitted == 'true' runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} steps: - run: >- echo "PR-head source and coverage execution are delegated to the @@ -389,8 +389,8 @@ jobs: needs: [required-workflow-bootstrap] if: needs.required-workflow-bootstrap.outputs.admitted == 'true' runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} steps: - run: >- echo "This required-workflow job preserves the stable branch-protection @@ -410,8 +410,8 @@ jobs: needs: [required-workflow-bootstrap, changed-scope] if: needs.required-workflow-bootstrap.outputs.admitted == 'true' runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} permissions: contents: read pull-requests: read @@ -630,8 +630,8 @@ jobs: # live PR before dispatch and verdict admission. if: github.event_name == 'pull_request_target' && github.event.action == 'synchronize' runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/opencode-review.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} permissions: actions: write contents: read diff --git a/.github/workflows/organization-commercial-readiness-loop.yml b/.github/workflows/organization-commercial-readiness-loop.yml index fa1ef018ff..317555b9ad 100644 --- a/.github/workflows/organization-commercial-readiness-loop.yml +++ b/.github/workflows/organization-commercial-readiness-loop.yml @@ -17,8 +17,8 @@ jobs: github.repository == 'ContextualWisdomLab/.github' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 25 permissions: contents: read diff --git a/.github/workflows/pg-erd-cloud-quality.yml b/.github/workflows/pg-erd-cloud-quality.yml index 27512f864c..1092f07a87 100644 --- a/.github/workflows/pg-erd-cloud-quality.yml +++ b/.github/workflows/pg-erd-cloud-quality.yml @@ -11,8 +11,8 @@ permissions: jobs: backend: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 30 steps: - name: Admit fixed caller before checkout @@ -87,8 +87,8 @@ jobs: env: NODE_ENV: test runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 30 steps: - name: Admit fixed caller before checkout diff --git a/.github/workflows/pr-auto-rebase.yml b/.github/workflows/pr-auto-rebase.yml index 4992224926..bd2369c74f 100644 --- a/.github/workflows/pr-auto-rebase.yml +++ b/.github/workflows/pr-auto-rebase.yml @@ -69,8 +69,8 @@ permissions: jobs: auto-rebase: runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} permissions: contents: read # checkout only; force-push uses the app or PR-write token below pull-requests: write # read PR queue and manage labels diff --git a/.github/workflows/pr-review-autofix.yml b/.github/workflows/pr-review-autofix.yml index 4528a3f014..f00ac9e600 100644 --- a/.github/workflows/pr-review-autofix.yml +++ b/.github/workflows/pr-review-autofix.yml @@ -23,8 +23,8 @@ permissions: jobs: autofix: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] # No job-level timeout-minutes here, deliberately. This job's dominant # cost is `opencode run` (up to two invocations: the main autofix pass, # and a base-merge conflict-resolution pass) -- a job-level wall-clock diff --git a/.github/workflows/pr-review-fix-scheduler.yml b/.github/workflows/pr-review-fix-scheduler.yml index 5543bbc2b9..83242fe29b 100644 --- a/.github/workflows/pr-review-fix-scheduler.yml +++ b/.github/workflows/pr-review-fix-scheduler.yml @@ -93,8 +93,8 @@ jobs: # out. The central main caller uses the idle control pool instead of the # saturated hosted queue; any other caller keeps hosted Ubuntu 24.04. runs-on: - group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/hourly-review-repair.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/hourly-review-repair.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/hourly-review-repair.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/hourly-review-repair.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 35 env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true diff --git a/.github/workflows/psychometrics-commons-ci.yml b/.github/workflows/psychometrics-commons-ci.yml index d3303d88c5..c6d5fc36a8 100644 --- a/.github/workflows/psychometrics-commons-ci.yml +++ b/.github/workflows/psychometrics-commons-ci.yml @@ -17,8 +17,8 @@ jobs: name: Format, lint, test, and rustdoc if: ${{ github.repository == 'ContextualWisdomLab/psychometrics-commons' && github.event_name == 'pull_request' && github.event.action != 'closed' && github.event.pull_request.state == 'open' && github.event.pull_request.number > 0 && startsWith(github.ref, 'refs/pull/') && endsWith(github.ref, '/merge') && github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.base.repo.full_name == github.repository && github.event.pull_request.base.ref == 'main' }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 services: postgres: @@ -110,8 +110,8 @@ jobs: name: Production line coverage if: ${{ github.repository == 'ContextualWisdomLab/psychometrics-commons' && github.event_name == 'pull_request' && github.event.action != 'closed' && github.event.pull_request.state == 'open' && github.event.pull_request.number > 0 && startsWith(github.ref, 'refs/pull/') && endsWith(github.ref, '/merge') && github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.base.repo.full_name == github.repository && github.event.pull_request.base.ref == 'main' }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 services: postgres: @@ -221,8 +221,8 @@ jobs: name: Production branch coverage if: ${{ github.repository == 'ContextualWisdomLab/psychometrics-commons' && github.event_name == 'pull_request' && github.event.action != 'closed' && github.event.pull_request.state == 'open' && github.event.pull_request.number > 0 && startsWith(github.ref, 'refs/pull/') && endsWith(github.ref, '/merge') && github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.base.repo.full_name == github.repository && github.event.pull_request.base.ref == 'main' }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 15 services: postgres: diff --git a/.github/workflows/python-security.yml b/.github/workflows/python-security.yml index 6e07d817c2..b6589f9e37 100644 --- a/.github/workflows/python-security.yml +++ b/.github/workflows/python-security.yml @@ -47,8 +47,8 @@ jobs: name: Detect Python if: github.event.action != 'closed' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] outputs: has_python: ${{ steps.detect.outputs.has_python }} has_manifest: ${{ steps.detect.outputs.has_manifest }} @@ -80,8 +80,8 @@ jobs: needs: detect-python if: github.event.action != 'closed' && needs.detect-python.outputs.has_python == 'true' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write @@ -209,8 +209,8 @@ jobs: needs: detect-python if: github.event.action != 'closed' && needs.detect-python.outputs.has_manifest == 'true' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read steps: diff --git a/.github/workflows/r-package-check.yml b/.github/workflows/r-package-check.yml index 0d23daac2a..48399fca2a 100644 --- a/.github/workflows/r-package-check.yml +++ b/.github/workflows/r-package-check.yml @@ -93,8 +93,8 @@ permissions: jobs: admit-platforms: runs-on: - group: CWL CI isolated - labels: [self-hosted, Linux, X64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, Linux, X64] outputs: matrix: ${{ steps.admit.outputs.matrix }} steps: @@ -140,8 +140,8 @@ jobs: R-CMD-check: needs: admit-platforms runs-on: - group: CWL CI isolated - labels: [self-hosted, Linux, X64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, Linux, X64] name: ${{ matrix.config.os }} (${{ matrix.config.r }}) strategy: diff --git a/.github/workflows/release-dependency-license-strix-gate.yml b/.github/workflows/release-dependency-license-strix-gate.yml index 8fbec4df37..c6ad9f79ba 100644 --- a/.github/workflows/release-dependency-license-strix-gate.yml +++ b/.github/workflows/release-dependency-license-strix-gate.yml @@ -163,8 +163,8 @@ jobs: prepare: name: Verify exact distributions and approve the licence closure runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 180 permissions: contents: read @@ -458,8 +458,8 @@ jobs: name: Strix ${{ matrix.key }} needs: prepare runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 360 permissions: contents: read @@ -714,8 +714,8 @@ jobs: needs: prepare if: ${{ needs.prepare.outputs.has_overflow == 'true' }} runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 360 permissions: contents: read @@ -733,8 +733,8 @@ jobs: (needs.prepare.outputs.has_overflow == 'false' && needs.strix_overflow.result == 'skipped')) }} name: Collect every Strix binding and seal the complete verdict runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 180 permissions: contents: read diff --git a/.github/workflows/repository-metadata-reconcile.yml b/.github/workflows/repository-metadata-reconcile.yml index fd14ba112f..aab249d970 100644 --- a/.github/workflows/repository-metadata-reconcile.yml +++ b/.github/workflows/repository-metadata-reconcile.yml @@ -36,8 +36,8 @@ concurrency: jobs: validate: runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 20 steps: - name: Harden runner @@ -111,8 +111,8 @@ jobs: if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' needs: validate runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 45 environment: repository-metadata-maintenance steps: diff --git a/.github/workflows/sast-semgrep.yml b/.github/workflows/sast-semgrep.yml index 2f128c1aea..87b91cc35f 100644 --- a/.github/workflows/sast-semgrep.yml +++ b/.github/workflows/sast-semgrep.yml @@ -51,8 +51,8 @@ jobs: # The gate lives inside this job as a step-level guard (one runner, not two). if: github.event.action != 'closed' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read pull-requests: read diff --git a/.github/workflows/sbom-generation.yml b/.github/workflows/sbom-generation.yml index 7d630dd78a..8f8f53807c 100644 --- a/.github/workflows/sbom-generation.yml +++ b/.github/workflows/sbom-generation.yml @@ -44,8 +44,8 @@ permissions: jobs: generate-sbom: runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: # write is needed for release-asset upload and dependency submission. contents: write diff --git a/.github/workflows/sbom-inventory-scheduler.yml b/.github/workflows/sbom-inventory-scheduler.yml index e60d66b7d0..3b307c7d78 100644 --- a/.github/workflows/sbom-inventory-scheduler.yml +++ b/.github/workflows/sbom-inventory-scheduler.yml @@ -31,8 +31,8 @@ permissions: jobs: aggregate-sbom-inventory: runs-on: - group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ (github.repository == 'ContextualWisdomLab/.github' && github.ref == 'refs/heads/main' && endsWith(github.workflow_ref, '@refs/heads/main') && fromJSON('{"group":"CWL MCP remediation","labels":["self-hosted","linux","x64"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} permissions: contents: write id-token: write diff --git a/.github/workflows/scheduled-security-scan.yml b/.github/workflows/scheduled-security-scan.yml index 0c2f118d1c..3d0ce0f32c 100644 --- a/.github/workflows/scheduled-security-scan.yml +++ b/.github/workflows/scheduled-security-scan.yml @@ -39,8 +39,8 @@ jobs: detect-languages: name: Detect CodeQL languages runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] outputs: matrix: ${{ steps.detect.outputs.matrix }} steps: @@ -75,8 +75,8 @@ jobs: name: CodeQL periodic (${{ matrix.language }}) needs: detect-languages runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: actions: read contents: read @@ -107,8 +107,8 @@ jobs: trivy-fs: name: Trivy filesystem (periodic) runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write diff --git a/.github/workflows/scorecard-analysis.yml b/.github/workflows/scorecard-analysis.yml index 2064ab9b54..eff19efafd 100644 --- a/.github/workflows/scorecard-analysis.yml +++ b/.github/workflows/scorecard-analysis.yml @@ -30,8 +30,8 @@ jobs: analysis: name: Scorecard analysis runs-on: - group: CWL CI isolated - labels: ["self-hosted", "linux", "x64", "cwlab-ci-isolated"] + group: CWL central control + labels: ["self-hosted", "linux", "x64"] permissions: security-events: write id-token: write diff --git a/.github/workflows/secret-scan.yml b/.github/workflows/secret-scan.yml index 3698e30056..59730c2563 100644 --- a/.github/workflows/secret-scan.yml +++ b/.github/workflows/secret-scan.yml @@ -36,8 +36,8 @@ jobs: gitleaks: name: gitleaks (secret scan) runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml index 46cddd322e..533b915713 100644 --- a/.github/workflows/security-scan.yml +++ b/.github/workflows/security-scan.yml @@ -72,8 +72,8 @@ jobs: # Fails OPEN: an unreadable, empty, or truncated file list scans everything. if: github.event.action != 'closed' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 5 permissions: contents: read @@ -129,8 +129,8 @@ jobs: needs: changed-scope if: github.event.action != 'closed' && needs.changed-scope.outputs.deps == 'true' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 25 permissions: actions: read @@ -361,8 +361,8 @@ jobs: needs: changed-scope if: github.event.action != 'closed' && needs.changed-scope.outputs.deps == 'true' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read pull-requests: read @@ -464,8 +464,8 @@ jobs: name: gitleaks (secret scan) if: github.event.action != 'closed' && github.repository == 'ContextualWisdomLab/.github' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write @@ -556,8 +556,8 @@ jobs: needs: changed-scope if: github.event.action != 'closed' && needs.changed-scope.outputs.code == 'true' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] permissions: contents: read security-events: write @@ -669,8 +669,8 @@ jobs: needs: changed-scope if: github.event.action != 'closed' && needs.changed-scope.outputs.code == 'true' runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] # SOFT: posture findings are unrelated to the PR diff, so never block merge. continue-on-error: true permissions: diff --git a/.github/workflows/strix.yml b/.github/workflows/strix.yml index 53e704bcfb..caeebfe54c 100644 --- a/.github/workflows/strix.yml +++ b/.github/workflows/strix.yml @@ -131,8 +131,8 @@ jobs: # Fails OPEN: an unreadable, empty, or truncated file list scans everything. if: (github.event_name != 'pull_request_target' || (github.event.action != 'closed' && github.event.action != 'converted_to_draft')) && (github.event.pull_request.draft != true || github.event.action == 'converted_to_draft' || github.event.action == 'closed') runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: contents: read @@ -193,8 +193,8 @@ jobs: (github.event.action != 'closed' && github.event.action != 'converted_to_draft') ) && (github.event.pull_request.draft != true || github.event.action == 'converted_to_draft' || github.event.action == 'closed') runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 5 permissions: contents: read @@ -345,8 +345,8 @@ jobs: github.event.pull_request.number || github.run_id }} cancel-in-progress: true runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} # Bound this gh-api-only cleanup job so a stuck call (rate limit, hung # `gh api --paginate`) cannot silently occupy a runner for GitHub's # 360-minute platform default -- exactly the window when a busy PR is @@ -469,8 +469,8 @@ jobs: # Inference has no wall-clock deadline; cancellation is reserved for an # explicit operator action or a superseded head. runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] # Least-privilege token scoped to this job (Scorecard alert #43): the scan # exchanges an OIDC token (id-token) and publishes same-repo status evidence # from the scan job only. @@ -1452,8 +1452,8 @@ jobs: needs: strix if: ${{ always() && !cancelled() && github.event_name == 'repository_dispatch' && github.event.client_payload.pr_head_sha != '' }} runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} # Single-shot OIDC exchange plus a handful of curl/gh api calls, no loop # or pagination -- same shape as the agent-mention-*-dispatch.yml # validate-and-forward jobs, which bound at timeout-minutes: 5. Without @@ -1677,8 +1677,8 @@ jobs: && needs.strix.outputs.transport_capacity_unavailable == 'true' && needs.strix.outputs.transport_retry_eligible == 'true' runs-on: - group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).group }} - labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL CI isolated","labels":["self-hosted","linux","x64","cwlab-ci-isolated"]}')).labels }} + group: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).group }} + labels: ${{ ((github.repository == 'ContextualWisdomLab/.github' || github.repository == 'ContextualWisdomLab/fast-mlsirm') && github.workflow_ref == 'ContextualWisdomLab/.github/.github/workflows/strix.yml@refs/heads/main' && fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64","cwlab-control"]}') || fromJSON('{"group":"CWL central control","labels":["self-hosted","linux","x64"]}')).labels }} timeout-minutes: 10 permissions: contents: write diff --git a/.github/workflows/tepp-documentation-quality.yml b/.github/workflows/tepp-documentation-quality.yml index d28d4c0be7..4f7bc82342 100644 --- a/.github/workflows/tepp-documentation-quality.yml +++ b/.github/workflows/tepp-documentation-quality.yml @@ -11,8 +11,8 @@ jobs: validate: name: Validate planning and governance contracts runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 steps: - name: Checkout exact head diff --git a/.github/workflows/tepp-rust-foundation-ci.yml b/.github/workflows/tepp-rust-foundation-ci.yml index b9e420e5c4..22981333bb 100644 --- a/.github/workflows/tepp-rust-foundation-ci.yml +++ b/.github/workflows/tepp-rust-foundation-ci.yml @@ -19,8 +19,8 @@ jobs: repository-contracts: name: Repository contracts and Python branch coverage runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 steps: - name: Checkout exact head @@ -63,8 +63,8 @@ jobs: rust-quality: name: Format, lint, test, rustdoc, and dependency policy runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 30 steps: - name: Checkout exact head @@ -138,8 +138,8 @@ jobs: production-coverage: name: Production line and branch coverage runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 45 steps: - name: Checkout exact head @@ -286,8 +286,8 @@ jobs: live-postgres: name: Live PostgreSQL integration runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 20 services: postgres: diff --git a/.github/workflows/traveling-agent-poc-quality.yml b/.github/workflows/traveling-agent-poc-quality.yml index 08dc2ccd5c..47950116cc 100644 --- a/.github/workflows/traveling-agent-poc-quality.yml +++ b/.github/workflows/traveling-agent-poc-quality.yml @@ -18,8 +18,8 @@ jobs: ((github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main')) runs-on: - group: CWL CI isolated - labels: [self-hosted, Linux, X64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, Linux, X64] timeout-minutes: 10 steps: - name: Admit owned same-repository caller diff --git a/.github/workflows/trusted-uv-materializer-quality-ci.yml b/.github/workflows/trusted-uv-materializer-quality-ci.yml index 8a5e9db20c..41b56ae195 100644 --- a/.github/workflows/trusted-uv-materializer-quality-ci.yml +++ b/.github/workflows/trusted-uv-materializer-quality-ci.yml @@ -55,8 +55,8 @@ jobs: minimum-python-contract: name: Python 3.10 compatibility contract runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 10 steps: - name: Harden runner @@ -103,8 +103,8 @@ jobs: full-quality-gate: name: Python 3.14 full quality gate runs-on: - group: CWL CI isolated - labels: [self-hosted, linux, x64, cwlab-ci-isolated] + group: CWL central control + labels: [self-hosted, linux, x64] timeout-minutes: 20 steps: - name: Harden runner