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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new bee03ecccb9 Run the RunsOn jobs on the Flex stack in all three 
us-east-2 zones (#76239)
bee03ecccb9 is described below

commit bee03ecccb9f06baef487c845564962285bcfa9e
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Nov 1 19:22:51 2026 +0100

    Run the RunsOn jobs on the Flex stack in all three us-east-2 zones (#76239)
    
    The env=flex label sends the jobs to the runs-on-flex stack from 
apache/airflow-ci-infra, which
    places runners in use2-az1, use2-az2 and use2-az3; the CloudFormation stack 
only uses the first
    two, where the Spot capacity for the runners' families is the worst in the 
region. All labels move
    together, because the stash actions keep image tars in the cache bucket of 
the stack that ran the
    job. Removing env=flex moves the jobs back.
    
    Generated-by: Claude Opus 5
---
 .github/workflows/dependency-upgrade-report.yml   | 2 +-
 dev/breeze/src/airflow_breeze/global_constants.py | 9 +++++----
 dev/breeze/tests/test_selective_checks.py         | 8 ++++----
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/dependency-upgrade-report.yml 
b/.github/workflows/dependency-upgrade-report.yml
index df9c7e33f85..fa2dc917a63 100644
--- a/.github/workflows/dependency-upgrade-report.yml
+++ b/.github/workflows/dependency-upgrade-report.yml
@@ -77,7 +77,7 @@ jobs:
               
'(constraints(?:-source-providers|-no-providers)?)-(true|false)-([1-9][0-9]*)$');
             const saved = artifacts.map(a => [a, 
inputName.exec(a.name)]).filter(([, match]) => match);
             // Only RunsOn runners can read RunsOn's S3 cache, where a canary 
on RunsOn keeps its CI image.
-            const runsOnRunner = 
`runs-on=${process.env.GITHUB_RUN_ID}/family=m8a+m8i+m7a+m7i+m6i` +
+            const runsOnRunner = 
`runs-on=${process.env.GITHUB_RUN_ID}/env=flex/family=m8a+m8i+m7a+m7i+m6i` +
               '/image=ubuntu22-full-x64/volume=150gb/spot=co/cpu=8/ram=32';
             for (const [input, [, python, mode, useUv, attempt]] of saved) {
               if (attempt !== rawAttempt) continue;
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py 
b/dev/breeze/src/airflow_breeze/global_constants.py
index fd540a4efeb..e129805779d 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -47,22 +47,23 @@ PUBLIC_ARM_RUNNERS = '["ubuntu-22.04-arm"]'
 # runners were reclaimed far more often than the rest (13-54% vs. 1-4%, Oct 
2026): m5, m5a, m6a and,
 # for the in-memory runners, r7a, r6a, r6i; r7i, which AWS Spot Advisor rates 
>20% there, too.
 RUNS_ON_AMD_RUNNER_TEMPLATE = (
-    
"runs-on={run_id}/family=m8a+m8i+m7a+m7i+m6i/image=ubuntu22-full-x64/volume=150gb/spot=co"
+    
"runs-on={run_id}/env=flex/family=m8a+m8i+m7a+m7i+m6i/image=ubuntu22-full-x64/volume=150gb/spot=co"
     "/cpu={{0}}/ram={{1}}"
 )
 RUNS_ON_ARM_RUNNER_TEMPLATE = (
-    
"runs-on={run_id}/family=m8g+m7g+m6g/image=ubuntu22-full-arm64/volume=150gb/spot=co/cpu={{0}}/ram={{1}}"
+    
"runs-on={run_id}/env=flex/family=m8g+m7g+m6g/image=ubuntu22-full-arm64/volume=150gb/spot=co"
+    "/cpu={{0}}/ram={{1}}"
 )
 # The same runners with docker, /tmp and /home/runner on a RAM disk (RunsOn 
`extras=tmpfs`), for jobs whose
 # databases wait on disk syncs. The RAM disk is capped at 100% of RAM before 
RunsOn v3.5.0, so these jobs
 # ask for memory headroom and also accept the memory-optimized r-family.
 RUNS_ON_AMD_IN_MEMORY_RUNNER_TEMPLATE = (
-    "runs-on={run_id}/family=m8a+m8i+m7a+m7i+m6i+r8i"
+    "runs-on={run_id}/env=flex/family=m8a+m8i+m7a+m7i+m6i+r8i"
     "/image=ubuntu22-full-x64/volume=150gb/spot=co"
     "/cpu={{0}}/ram={{1}}/extras=tmpfs"
 )
 RUNS_ON_ARM_IN_MEMORY_RUNNER_TEMPLATE = (
-    
"runs-on={run_id}/family=m8g+m7g+m6g+r8g+r7g+r6g/image=ubuntu22-full-arm64/volume=150gb/spot=co"
+    
"runs-on={run_id}/env=flex/family=m8g+m7g+m6g+r8g+r7g+r6g/image=ubuntu22-full-arm64/volume=150gb/spot=co"
     "/cpu={{0}}/ram={{1}}/extras=tmpfs"
 )
 
diff --git a/dev/breeze/tests/test_selective_checks.py 
b/dev/breeze/tests/test_selective_checks.py
index 47d3913f8b9..9a7633fbee9 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -5198,18 +5198,18 @@ def 
test_providers_with_test_side_effects_are_shared_process_providers():
 
 
 RUNS_ON_AMD = (
-    
'["runs-on=42/family=m8a+m8i+m7a+m7i+m6i/image=ubuntu22-full-x64/volume=150gb/spot=co/cpu={0}/ram={1}"]'
+    
'["runs-on=42/env=flex/family=m8a+m8i+m7a+m7i+m6i/image=ubuntu22-full-x64/volume=150gb/spot=co/cpu={0}/ram={1}"]'
 )
 RUNS_ON_ARM = (
-    
'["runs-on=42/family=m8g+m7g+m6g/image=ubuntu22-full-arm64/volume=150gb/spot=co/cpu={0}/ram={1}"]'
+    
'["runs-on=42/env=flex/family=m8g+m7g+m6g/image=ubuntu22-full-arm64/volume=150gb/spot=co/cpu={0}/ram={1}"]'
 )
 RUNS_ON_AMD_IN_MEMORY = (
-    '["runs-on=42/family=m8a+m8i+m7a+m7i+m6i+r8i'
+    '["runs-on=42/env=flex/family=m8a+m8i+m7a+m7i+m6i+r8i'
     "/image=ubuntu22-full-x64/volume=150gb/spot=co"
     '/cpu={0}/ram={1}/extras=tmpfs"]'
 )
 RUNS_ON_ARM_IN_MEMORY = (
-    
'["runs-on=42/family=m8g+m7g+m6g+r8g+r7g+r6g/image=ubuntu22-full-arm64/volume=150gb/spot=co'
+    
'["runs-on=42/env=flex/family=m8g+m7g+m6g+r8g+r7g+r6g/image=ubuntu22-full-arm64/volume=150gb/spot=co'
     '/cpu={0}/ram={1}/extras=tmpfs"]'
 )
 

Reply via email to