This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-4-test by this push:
     new 03139d689d1 [v3-4-test] Start the whole test matrix at once on the 
RunsOn runners (#76250) (#76258)
03139d689d1 is described below

commit 03139d689d10723b4296e2bc349d273bd8fd477b
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sun Nov 1 21:51:07 2026 +0100

    [v3-4-test] Start the whole test matrix at once on the RunsOn runners 
(#76250) (#76258)
    
    The test matrices cap themselves at 20 concurrent jobs to stay within the 
ASF limit for
    GitHub-hosted runners. On RunsOn the cap only queues jobs: a canary's 42 
Kubernetes jobs ran in
    three waves at minutes 30, 40 and 49.5, so the Kubernetes tests ended at 
minute 58.7 instead of
    about 42 and the canary took 78 minutes. Runs on GitHub-hosted runners keep 
the cap.
    (cherry picked from commit 0cc7842e6d906bb66cbef01fddae122c640922d1)
    
    
    Generated-by: Claude Opus 5
    
    Co-authored-by: Jarek Potiuk <[email protected]>
---
 .github/workflows/airflow-distributions-tests.yml | 4 +++-
 .github/workflows/helm-tests.yml                  | 4 +++-
 .github/workflows/integration-system-tests.yml    | 8 ++++++--
 .github/workflows/k8s-tests.yml                   | 4 +++-
 .github/workflows/run-unit-tests.yml              | 4 +++-
 5 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/airflow-distributions-tests.yml 
b/.github/workflows/airflow-distributions-tests.yml
index 0c24ff8cdc3..d3ff1fb4af8 100644
--- a/.github/workflows/airflow-distributions-tests.yml
+++ b/.github/workflows/airflow-distributions-tests.yml
@@ -75,7 +75,9 @@ jobs:
     runs-on: ${{ fromJSON(inputs.runners) }}
     strategy:
       fail-fast: false
-      max-parallel: 20
+      # 20 keeps runs on GitHub-hosted runners within the ASF limit of 20 
concurrent jobs. The RunsOn
+      # runners are the project's own capacity, so a run there starts the 
whole matrix at once.
+      max-parallel: ${{ contains(inputs.runners, 'runs-on=') && 256 || 20 }}
       matrix:
         python-version: "${{fromJSON(inputs.python-versions)}}"
     env:
diff --git a/.github/workflows/helm-tests.yml b/.github/workflows/helm-tests.yml
index f8000a7c4dd..1f505b8a453 100644
--- a/.github/workflows/helm-tests.yml
+++ b/.github/workflows/helm-tests.yml
@@ -55,7 +55,9 @@ jobs:
     runs-on: ${{ format(fromJSON(inputs.runners)[0], '32+64', '128+256') }}
     strategy:
       fail-fast: false
-      max-parallel: 20
+      # 20 keeps runs on GitHub-hosted runners within the ASF limit of 20 
concurrent jobs. The RunsOn
+      # runners are the project's own capacity, so a run there starts the 
whole matrix at once.
+      max-parallel: ${{ contains(inputs.runners, 'runs-on=') && 256 || 20 }}
       matrix:
         helm-test-package: ${{ fromJSON(inputs.helm-test-packages) }}
         kubernetes-version: ${{ fromJSON(inputs.helm-test-kubernetes-versions) 
}}
diff --git a/.github/workflows/integration-system-tests.yml 
b/.github/workflows/integration-system-tests.yml
index e61e4070e0c..e46173b9c70 100644
--- a/.github/workflows/integration-system-tests.yml
+++ b/.github/workflows/integration-system-tests.yml
@@ -78,7 +78,9 @@ jobs:
     runs-on: ${{ format(fromJSON(inputs.runners)[0], '8+16', '32+64') }}
     strategy:
       fail-fast: false
-      max-parallel: 20
+      # 20 keeps runs on GitHub-hosted runners within the ASF limit of 20 
concurrent jobs. The RunsOn
+      # runners are the project's own capacity, so a run there starts the 
whole matrix at once.
+      max-parallel: ${{ contains(inputs.runners, 'runs-on=') && 256 || 20 }}
       matrix:
         integration: ${{ fromJSON(inputs.testable-core-integrations) }}
     env:
@@ -129,7 +131,9 @@ jobs:
     runs-on: ${{ format(fromJSON(inputs.runners)[0], '8+16', '32+64') }}
     strategy:
       fail-fast: false
-      max-parallel: 20
+      # 20 keeps runs on GitHub-hosted runners within the ASF limit of 20 
concurrent jobs. The RunsOn
+      # runners are the project's own capacity, so a run there starts the 
whole matrix at once.
+      max-parallel: ${{ contains(inputs.runners, 'runs-on=') && 256 || 20 }}
       matrix:
         integration: ${{ fromJSON(inputs.testable-providers-integrations) }}
     env:
diff --git a/.github/workflows/k8s-tests.yml b/.github/workflows/k8s-tests.yml
index 73d0ae9840f..df0b080b618 100644
--- a/.github/workflows/k8s-tests.yml
+++ b/.github/workflows/k8s-tests.yml
@@ -65,7 +65,9 @@ jobs:
     runs-on: ${{ format(fromJSON(inputs.runners)[0], '8+16', '32+64') }}
     strategy:
       fail-fast: false
-      max-parallel: 20
+      # 20 keeps runs on GitHub-hosted runners within the ASF limit of 20 
concurrent jobs. The RunsOn
+      # runners are the project's own capacity, so a run there starts the 
whole matrix at once.
+      max-parallel: ${{ contains(inputs.runners, 'runs-on=') && 256 || 20 }}
       matrix:
         executor: [KubernetesExecutor, CeleryExecutor, LocalExecutor]
         use-standard-naming: [true, false]
diff --git a/.github/workflows/run-unit-tests.yml 
b/.github/workflows/run-unit-tests.yml
index 43d4be4c9d8..c2564f71462 100644
--- a/.github/workflows/run-unit-tests.yml
+++ b/.github/workflows/run-unit-tests.yml
@@ -152,7 +152,9 @@ jobs:
     runs-on: ${{ fromJSON(inputs.runners) }}
     strategy:
       fail-fast: false
-      max-parallel: 20
+      # 20 keeps runs on GitHub-hosted runners within the ASF limit of 20 
concurrent jobs. The RunsOn
+      # runners are the project's own capacity, so a run there starts the 
whole matrix at once.
+      max-parallel: ${{ contains(inputs.runners, 'runs-on=') && 256 || 20 }}
       matrix:
         python-version: "${{fromJSON(inputs.python-versions)}}"
         backend-version: "${{fromJSON(inputs.backend-versions)}}"

Reply via email to