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