From 536c3207395267bf2dfcf1f97a2f5543d5247bdd Mon Sep 17 00:00:00 2001 From: "Shaun \"Oden\" Marshall" <40664141+Odenknight@users.noreply.github.com> Date: Sat, 12 Sep 2026 10:43:22 -0400 Subject: [PATCH] ci: route Linux jobs to R720 self-hosted runner --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/managed-moc-audit-2.2.yml | 2 +- .github/workflows/npm-release-2.2.yml | 2 +- .github/workflows/observation-2.2.yml | 2 +- .github/workflows/phase4-retrieval-observation.yml | 2 +- .../workflows/phase6-identity-contract-draft2.yml | 14 +++++++------- .github/workflows/phase6-identity-contract.yml | 14 +++++++------- .github/workflows/runtime-qualification.yml | 4 ++-- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45e62d1..674afd2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ permissions: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-latest' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} continue-on-error: ${{ matrix.node == 26 }} strategy: fail-fast: false @@ -165,7 +165,7 @@ jobs: phase4-retrieval-observation-manual: if: github.event_name == 'workflow_dispatch' - runs-on: ubuntu-latest + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-latest' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 45 concurrency: group: phase4-retrieval-observation-${{ github.ref }} @@ -233,7 +233,7 @@ jobs: run: git diff --exit-code phase5-watcher-linux: - runs-on: ubuntu-latest + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-latest' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} continue-on-error: ${{ matrix.node == 26 }} timeout-minutes: 45 strategy: @@ -390,7 +390,7 @@ jobs: phase5-watcher-artifact-audit: needs: [phase5-watcher-linux, phase5-watcher-windows] - runs-on: ubuntu-latest + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-latest' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 45 permissions: actions: read diff --git a/.github/workflows/managed-moc-audit-2.2.yml b/.github/workflows/managed-moc-audit-2.2.yml index a43a013..99cf734 100644 --- a/.github/workflows/managed-moc-audit-2.2.yml +++ b/.github/workflows/managed-moc-audit-2.2.yml @@ -8,7 +8,7 @@ permissions: contents: read jobs: native-no-change: - runs-on: ${{ matrix.os }} + runs-on: ${{ startsWith(matrix.os, 'ubuntu-') && !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && fromJSON('["self-hosted","Linux","X64","r720-ci"]') || matrix.os }} timeout-minutes: 15 strategy: fail-fast: false diff --git a/.github/workflows/npm-release-2.2.yml b/.github/workflows/npm-release-2.2.yml index 228f2d6..7b17f33 100644 --- a/.github/workflows/npm-release-2.2.yml +++ b/.github/workflows/npm-release-2.2.yml @@ -12,7 +12,7 @@ concurrency: jobs: publish: if: github.repository == 'Odenknight/GKOS-Engine' - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 120 environment: gkos-engine-release env: diff --git a/.github/workflows/observation-2.2.yml b/.github/workflows/observation-2.2.yml index 9db3c0f..051f39a 100644 --- a/.github/workflows/observation-2.2.yml +++ b/.github/workflows/observation-2.2.yml @@ -10,7 +10,7 @@ permissions: contents: read jobs: current-2-2: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 45 env: GIT_CONFIG_COUNT: 1 diff --git a/.github/workflows/phase4-retrieval-observation.yml b/.github/workflows/phase4-retrieval-observation.yml index dccf770..68e18aa 100644 --- a/.github/workflows/phase4-retrieval-observation.yml +++ b/.github/workflows/phase4-retrieval-observation.yml @@ -14,7 +14,7 @@ concurrency: jobs: observe: - runs-on: ubuntu-latest + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-latest' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 45 env: GIT_CONFIG_COUNT: 1 diff --git a/.github/workflows/phase6-identity-contract-draft2.yml b/.github/workflows/phase6-identity-contract-draft2.yml index d585b78..5c6a827 100644 --- a/.github/workflows/phase6-identity-contract-draft2.yml +++ b/.github/workflows/phase6-identity-contract-draft2.yml @@ -18,7 +18,7 @@ env: jobs: p6-d2-contract-linux-node22: &contract_linux - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 30 steps: - uses: actions/checkout@v4 @@ -41,7 +41,7 @@ jobs: retention-days: 90 if-no-files-found: error p6-d2-contract-linux-node23: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 30 steps: &contract_steps - uses: actions/checkout@v4 @@ -65,7 +65,7 @@ jobs: if-no-files-found: error p6-d2-contract-linux-node24: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 45 steps: - uses: actions/checkout@v4 @@ -186,7 +186,7 @@ jobs: if-no-files-found: error p6-d2-schema-adversarial: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -209,7 +209,7 @@ jobs: if-no-files-found: error p6-d2-pack-reproducibility: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -232,7 +232,7 @@ jobs: if-no-files-found: error p6-d2-secret-scan: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -256,7 +256,7 @@ jobs: p6-d2-artifact-audit: needs: [p6-d2-contract-linux-node22,p6-d2-contract-linux-node23,p6-d2-contract-linux-node24,p6-d2-contract-windows-node22,p6-d2-contract-windows-node23,p6-d2-contract-windows-node24,p6-d2-contract-macos-node22,p6-d2-schema-adversarial,p6-d2-pack-reproducibility,p6-d2-secret-scan] - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/phase6-identity-contract.yml b/.github/workflows/phase6-identity-contract.yml index 9abcf26..666be35 100644 --- a/.github/workflows/phase6-identity-contract.yml +++ b/.github/workflows/phase6-identity-contract.yml @@ -18,7 +18,7 @@ env: jobs: p6-f1-contract-linux-node22: &contract_linux - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 30 steps: - uses: actions/checkout@v4 @@ -41,7 +41,7 @@ jobs: if-no-files-found: error p6-f1-contract-linux-node23: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 30 steps: &contract_steps - uses: actions/checkout@v4 @@ -64,7 +64,7 @@ jobs: if-no-files-found: error p6-f1-contract-linux-node24: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 45 steps: - uses: actions/checkout@v4 @@ -180,7 +180,7 @@ jobs: if-no-files-found: error p6-f1-schema-adversarial: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -203,7 +203,7 @@ jobs: if-no-files-found: error p6-f1-pack-reproducibility: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -226,7 +226,7 @@ jobs: if-no-files-found: error p6-f1-secret-scan: - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -250,7 +250,7 @@ jobs: p6-f1-artifact-audit: needs: [p6-f1-contract-linux-node22,p6-f1-contract-linux-node23,p6-f1-contract-linux-node24,p6-f1-contract-windows-node22,p6-f1-contract-windows-node23,p6-f1-contract-windows-node24,p6-f1-contract-macos-node22,p6-f1-schema-adversarial,p6-f1-pack-reproducibility,p6-f1-secret-scan] - runs-on: ubuntu-24.04 + runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && 'ubuntu-24.04' || fromJSON('["self-hosted","Linux","X64","r720-ci"]') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/runtime-qualification.yml b/.github/workflows/runtime-qualification.yml index 30a1be7..40696f0 100644 --- a/.github/workflows/runtime-qualification.yml +++ b/.github/workflows/runtime-qualification.yml @@ -10,7 +10,7 @@ permissions: jobs: historical-contract-replay: - runs-on: ${{ matrix.os }} + runs-on: ${{ startsWith(matrix.os, 'ubuntu-') && !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && fromJSON('["self-hosted","Linux","X64","r720-ci"]') || matrix.os }} continue-on-error: ${{ matrix.node == 23 }} strategy: fail-fast: false @@ -47,7 +47,7 @@ jobs: current-runtime: needs: historical-contract-replay - runs-on: ${{ matrix.os }} + runs-on: ${{ startsWith(matrix.os, 'ubuntu-') && !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) && fromJSON('["self-hosted","Linux","X64","r720-ci"]') || matrix.os }} continue-on-error: ${{ matrix.node == 26 }} env: GIT_CONFIG_COUNT: 1