You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2026/04/18 09:55:08 UTC
(airflow) branch main updated: Bump stash/restore to retry-capable revision with fail-on-download (#65268)
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 e9ccf0751b1 Bump stash/restore to retry-capable revision with fail-on-download (#65268)
e9ccf0751b1 is described below
commit e9ccf0751b14b4b1b4f5ccfafec78d5b5d5c6900
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Sat Apr 18 11:55:00 2026 +0200
Bump stash/restore to retry-capable revision with fail-on-download (#65268)
* Bump apache/infrastructure-actions stash to retry-capable revision
Bumps stash/restore and stash/save to the PR #716 revision which adds
retry-count (default 3) and fail-on-download inputs to stash/restore.
Sets fail-on-download: true on the two restore sites where the next
step (breeze ci-image load) cannot continue without the artifact:
prepare_breeze_and_image and prepare_single_ci_image. Other call sites
are true caches (cache-mount, docs inventory, node_modules, prek cache)
where a missed download only means a slower/cold run, so they keep the
default behaviour.
* Bump apache/infrastructure-actions stash to latest main
PR apache/infrastructure-actions#716 (retry-count and fail-on-download
inputs on stash/restore) is now merged. Bump the pinned SHA from the
old PR branch head to the current main tip. No behaviour change from
the previous commit — just keeps the pinned SHA in sync with upstream.
---
.github/actions/install-prek/action.yml | 4 ++--
.github/actions/prepare_breeze_and_image/action.yml | 3 ++-
.github/actions/prepare_single_ci_image/action.yml | 3 ++-
.github/workflows/basic-tests.yml | 8 ++++----
.github/workflows/ci-image-build.yml | 6 +++---
.github/workflows/ci-image-checks.yml | 4 ++--
.github/workflows/prod-image-build.yml | 2 +-
.github/workflows/publish-docs-to-s3.yml | 4 ++--
8 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/.github/actions/install-prek/action.yml b/.github/actions/install-prek/action.yml
index 998a1b186d3..ad592947586 100644
--- a/.github/actions/install-prek/action.yml
+++ b/.github/actions/install-prek/action.yml
@@ -70,7 +70,7 @@ runs:
echo
shell: bash
- name: "Restore prek cache"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
# yamllint disable rule:line-length
key: cache-prek-v9-${{ inputs.platform }}-python${{ inputs.python-version }}-uv${{ steps.versions.outputs.uv-version }}-${{ hashFiles('**/.pre-commit-config.yaml') }}
@@ -119,7 +119,7 @@ runs:
shell: bash
if: inputs.save-cache == 'true'
- name: "Save prek cache"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
# yamllint disable rule:line-length
key: cache-prek-v9-${{ inputs.platform }}-python${{ inputs.python-version }}-uv${{ steps.versions.outputs.uv-version }}-${{ hashFiles('**/.pre-commit-config.yaml') }}
diff --git a/.github/actions/prepare_breeze_and_image/action.yml b/.github/actions/prepare_breeze_and_image/action.yml
index 2498caad2b8..6e6c4efd205 100644
--- a/.github/actions/prepare_breeze_and_image/action.yml
+++ b/.github/actions/prepare_breeze_and_image/action.yml
@@ -57,11 +57,12 @@ runs:
echo "Checking free space!"
df -H
- name: "Restore ${{ inputs.image-type }} docker image ${{ inputs.platform }}:${{ inputs.python }}"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
key: ${{ inputs.image-type }}-image-save-v3-${{ inputs.platform }}-${{ inputs.python }}
path: "/mnt/"
only-current-branch: 'true'
+ fail-on-download: 'true'
- name: "Load ${{ inputs.image-type }} image ${{ inputs.platform }}:${{ inputs.python }}"
env:
PLATFORM: ${{ inputs.platform }}
diff --git a/.github/actions/prepare_single_ci_image/action.yml b/.github/actions/prepare_single_ci_image/action.yml
index f8046de085b..3608901015d 100644
--- a/.github/actions/prepare_single_ci_image/action.yml
+++ b/.github/actions/prepare_single_ci_image/action.yml
@@ -36,11 +36,12 @@ runs:
using: "composite"
steps:
- name: "Restore CI docker images ${{ inputs.platform }}:${{ inputs.python }}"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
key: ci-image-save-v3-${{ inputs.platform }}-${{ inputs.python }}
path: "/mnt/"
only-current-branch: 'true'
+ fail-on-download: 'true'
if: contains(inputs.python-versions-list-as-string, inputs.python)
- name: "Load CI image ${{ inputs.platform }}:${{ inputs.python }}"
env:
diff --git a/.github/workflows/basic-tests.yml b/.github/workflows/basic-tests.yml
index 5bc1fc8905b..c12468cab1e 100644
--- a/.github/workflows/basic-tests.yml
+++ b/.github/workflows/basic-tests.yml
@@ -203,7 +203,7 @@ jobs:
cache: 'pnpm'
cache-dependency-path: 'airflow-core/src/airflow/**/pnpm-lock.yaml'
- name: "Restore eslint cache (ui)"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: airflow-core/src/airflow/ui/node_modules/
# yamllint disable-line rule:line-length
@@ -214,7 +214,7 @@ jobs:
env:
FORCE_COLOR: 2
- name: "Save eslint cache (ui)"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: airflow-core/src/airflow/ui/node_modules/
key: cache-ui-node-modules-v1-${{ runner.os }}-${{ hashFiles('airflow/ui/**/pnpm-lock.yaml') }}
@@ -222,7 +222,7 @@ jobs:
retention-days: '2'
if: steps.restore-eslint-cache-ui.outputs.stash-hit != 'true'
- name: "Restore eslint cache (simple auth manager UI)"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/node_modules/
key: >
@@ -234,7 +234,7 @@ jobs:
env:
FORCE_COLOR: 2
- name: "Save eslint cache (ui)"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/node_modules/
key: >
diff --git a/.github/workflows/ci-image-build.yml b/.github/workflows/ci-image-build.yml
index d1415ed53fc..9d5547999d8 100644
--- a/.github/workflows/ci-image-build.yml
+++ b/.github/workflows/ci-image-build.yml
@@ -131,7 +131,7 @@ jobs:
- name: "Install Breeze"
uses: ./.github/actions/breeze
- name: "Restore ci-cache mount image ${{ inputs.platform }}:${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
key: "ci-cache-mount-save-v3-${{ inputs.platform }}-${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
path: "/tmp/"
@@ -188,7 +188,7 @@ jobs:
run: breeze ci-image save --platform "${PLATFORM}" --image-file-dir "/mnt"
if: inputs.upload-image-artifact == 'true'
- name: "Stash CI docker image ${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
key: ci-image-save-v3-${{ inputs.platform }}-${{ env.PYTHON_MAJOR_MINOR_VERSION }}
path: "/mnt/ci-image-save-*-${{ env.PYTHON_MAJOR_MINOR_VERSION }}.tar"
@@ -203,7 +203,7 @@ jobs:
--cache-file /tmp/ci-cache-mount-save-v3-${PYTHON_MAJOR_MINOR_VERSION}.tar.gz
if: inputs.upload-mount-cache-artifact == 'true'
- name: "Stash cache mount ${{ inputs.platform }}:${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
key: "ci-cache-mount-save-v3-${{ inputs.platform }}-${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
path: "/tmp/ci-cache-mount-save-v3-${{ env.PYTHON_MAJOR_MINOR_VERSION }}.tar.gz"
diff --git a/.github/workflows/ci-image-checks.yml b/.github/workflows/ci-image-checks.yml
index 6b30ceec54e..709c79434f3 100644
--- a/.github/workflows/ci-image-checks.yml
+++ b/.github/workflows/ci-image-checks.yml
@@ -194,7 +194,7 @@ jobs:
use-uv: ${{ inputs.use-uv }}
make-mnt-writeable-and-cleanup: true
- name: "Restore docs inventory cache"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: ./generated/_inventory_cache/
key: cache-docs-inventory-v1
@@ -308,7 +308,7 @@ jobs:
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
- name: "Save docs inventory cache"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: ./generated/_inventory_cache/
key: cache-docs-inventory-v1
diff --git a/.github/workflows/prod-image-build.yml b/.github/workflows/prod-image-build.yml
index dd1e5284b8f..1bfd1142c0c 100644
--- a/.github/workflows/prod-image-build.yml
+++ b/.github/workflows/prod-image-build.yml
@@ -284,7 +284,7 @@ jobs:
breeze prod-image save --platform "${PLATFORM}" --image-file-dir "/mnt"
if: inputs.upload-image-artifact == 'true'
- name: "Stash PROD docker image ${{ env.PYTHON_MAJOR_MINOR_VERSION }}"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
with:
key: prod-image-save-v3-${{ inputs.platform }}-${{ env.PYTHON_MAJOR_MINOR_VERSION }}
path: "/mnt/prod-image-save-*-${{ env.PYTHON_MAJOR_MINOR_VERSION }}.tar"
diff --git a/.github/workflows/publish-docs-to-s3.yml b/.github/workflows/publish-docs-to-s3.yml
index a029eef3f7e..0ae4ed97c09 100644
--- a/.github/workflows/publish-docs-to-s3.yml
+++ b/.github/workflows/publish-docs-to-s3.yml
@@ -279,7 +279,7 @@ jobs:
-t "ghcr.io/apache/airflow/main/ci/python${PYTHON_MAJOR_MINOR_VERSION}:latest" --target main .
-f Dockerfile.ci --platform linux/amd64
- name: "Restore docs inventory cache"
- uses: apache/infrastructure-actions/stash/restore@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/restore@49df447b39b18354895520e0a63731b7cad7cbec
with:
path: ./generated/_inventory_cache/
key: cache-docs-inventory-v1
@@ -292,7 +292,7 @@ jobs:
run: >
breeze build-docs ${INCLUDE_DOCS} --docs-only ${FAIL_ON_INVENTORIES}
- name: "Save docs inventory cache"
- uses: apache/infrastructure-actions/stash/save@1c35b5ccf8fba5d4c3fdf25a045ca91aa0cbc468
+ uses: apache/infrastructure-actions/stash/save@49df447b39b18354895520e0a63731b7cad7cbec
if: steps.restore-docs-inventory-cache.outputs.stash-hit != 'true'
with:
path: ./generated/_inventory_cache/