This is an automated email from the ASF dual-hosted git repository.
zhouyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 86df8560c6 [GLUTEN-12599][VL] Migrate Velox CI ccache restore to
Apache Stash (part 2) (#12610)
86df8560c6 is described below
commit 86df8560c61ec43994d7edbed7224835fc248e1e
Author: Han-Yin Chang <[email protected]>
AuthorDate: Fri Jul 24 15:11:20 2026 +0800
[GLUTEN-12599][VL] Migrate Velox CI ccache restore to Apache Stash (part 2)
(#12610)
* [GLUTEN-12599][VL] Part 2: restore Velox CI ccache from Apache Stash
Switch the ccache restore steps in velox_backend_arm.yml,
velox_backend_x86.yml and velox_backend_enhanced.yml from
actions/cache to the Apache Stash entries seeded by
velox_backend_cache.yml (#12602). Stash has no restore-keys
mechanism, so restores use the same
hashFiles('ep/build-velox/src/**') key the producer saves under;
a changed Velox build tree falls back to a cold ccache build.
Consumer-side actions/cache saves are kept for instant rollback
and will be removed in the final cleanup once the Stash restore
path has been validated in CI.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* [GLUTEN-12599][VL] Install gh and jq for Stash restore in container jobs
The stash/restore action shells out to gh and jq, which the
vcpkg-centos-9 and centos-9-jdk8 job containers do not provide
(host-runner jobs already have them). Install pinned static
binaries before the restore step in the three container-based
jobs.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
---
.github/workflows/velox_backend_arm.yml | 38 ++++++++++++++++++++--------
.github/workflows/velox_backend_enhanced.yml | 8 +++---
.github/workflows/velox_backend_x86.yml | 35 ++++++++++++++-----------
3 files changed, 51 insertions(+), 30 deletions(-)
diff --git a/.github/workflows/velox_backend_arm.yml
b/.github/workflows/velox_backend_arm.yml
index 6241304cad..5fbb79b5b5 100644
--- a/.github/workflows/velox_backend_arm.yml
+++ b/.github/workflows/velox_backend_arm.yml
@@ -56,13 +56,22 @@ jobs:
container: apache/gluten:vcpkg-centos-9
steps:
- uses: actions/checkout@v4
- - name: Get Ccache
- uses: actions/cache/restore@v4
+ - name: Install Stash restore dependencies # the stash action needs gh
and jq, absent from this container
+ run: |
+ case "$(uname -m)" in
+ x86_64) ARCH=amd64 ;;
+ aarch64) ARCH=arm64 ;;
+ esac
+ curl -fsSL
"https://github.com/cli/cli/releases/download/v2.63.2/gh_2.63.2_linux_${ARCH}.tar.gz"
\
+ | tar -xz -C /usr/local --strip-components=1
"gh_2.63.2_linux_${ARCH}/bin/gh"
+ curl -fsSL -o /usr/local/bin/jq
"https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-${ARCH}"
+ chmod +x /usr/local/bin/jq
+ gh --version && jq --version
+ - name: Get Ccache from Apache Stash
+ uses:
apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
with:
path: '${{ env.CCACHE_DIR }}'
- key: ccache-centos8-release-default-${{runner.arch}}-${{github.sha}}
- restore-keys: |
- ccache-centos8-release-default-${{runner.arch}}
+ key: ccache-centos8-release-default-${{runner.arch}}-${{
hashFiles('ep/build-velox/src/**') }}
- name: Build Gluten native libraries
run: |
df -a
@@ -129,13 +138,22 @@ jobs:
container: apache/gluten:centos-9-jdk8
steps:
- uses: actions/checkout@v4
- - name: Get Ccache
- uses: actions/cache/restore@v4
+ - name: Install Stash restore dependencies # the stash action needs gh
and jq, absent from this container
+ run: |
+ case "$(uname -m)" in
+ x86_64) ARCH=amd64 ;;
+ aarch64) ARCH=arm64 ;;
+ esac
+ curl -fsSL
"https://github.com/cli/cli/releases/download/v2.63.2/gh_2.63.2_linux_${ARCH}.tar.gz"
\
+ | tar -xz -C /usr/local --strip-components=1
"gh_2.63.2_linux_${ARCH}/bin/gh"
+ curl -fsSL -o /usr/local/bin/jq
"https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-${ARCH}"
+ chmod +x /usr/local/bin/jq
+ gh --version && jq --version
+ - name: Get Ccache from Apache Stash
+ uses:
apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
with:
path: '${{ env.CCACHE_DIR }}'
- key: ccache-centos9-release-shared-${{runner.arch}}-${{github.sha}}
- restore-keys: |
- ccache-centos9-release-shared-${{runner.arch}}
+ key: ccache-centos9-release-shared-${{runner.arch}}-${{
hashFiles('ep/build-velox/src/**') }}
- name: Build Gluten native libraries
run: |
df -a
diff --git a/.github/workflows/velox_backend_enhanced.yml
b/.github/workflows/velox_backend_enhanced.yml
index 23e42e79be..1b0d27e391 100644
--- a/.github/workflows/velox_backend_enhanced.yml
+++ b/.github/workflows/velox_backend_enhanced.yml
@@ -56,13 +56,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- - name: Get Ccache
- uses: actions/cache/restore@v4
+ - name: Get Ccache from Apache Stash
+ uses:
apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
with:
path: '${{ env.CCACHE_DIR }}'
- key: ccache-enhanced-centos7-release-default-${{github.sha}}
- restore-keys: |
- ccache-enhanced-centos7-release-default
+ key: ccache-enhanced-centos7-release-default-${{
hashFiles('ep/build-velox/src/**') }}
- name: Build Gluten native libraries
run: |
docker pull apache/gluten:vcpkg-centos-7-gcc13
diff --git a/.github/workflows/velox_backend_x86.yml
b/.github/workflows/velox_backend_x86.yml
index 9b5d6d12a1..a48e84c2c2 100644
--- a/.github/workflows/velox_backend_x86.yml
+++ b/.github/workflows/velox_backend_x86.yml
@@ -59,13 +59,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- - name: Get Ccache
- uses: actions/cache/restore@v4
+ - name: Get Ccache from Apache Stash
+ uses:
apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
with:
path: '${{ env.CCACHE_DIR }}'
- key: ccache-centos7-release-default-${{github.sha}}
- restore-keys: |
- ccache-centos7-release-default
+ key: ccache-centos7-release-default-${{
hashFiles('ep/build-velox/src/**') }}
- name: Build Gluten native libraries
run: |
docker run -v $GITHUB_WORKSPACE:/work -w /work
apache/gluten:vcpkg-centos-7-gcc13 bash -c "
@@ -982,13 +980,22 @@ jobs:
container: apache/gluten:centos-9-jdk8
steps:
- uses: actions/checkout@v4
- - name: Get Ccache
- uses: actions/cache/restore@v4
+ - name: Install Stash restore dependencies # the stash action needs gh
and jq, absent from this container
+ run: |
+ case "$(uname -m)" in
+ x86_64) ARCH=amd64 ;;
+ aarch64) ARCH=arm64 ;;
+ esac
+ curl -fsSL
"https://github.com/cli/cli/releases/download/v2.63.2/gh_2.63.2_linux_${ARCH}.tar.gz"
\
+ | tar -xz -C /usr/local --strip-components=1
"gh_2.63.2_linux_${ARCH}/bin/gh"
+ curl -fsSL -o /usr/local/bin/jq
"https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-${ARCH}"
+ chmod +x /usr/local/bin/jq
+ gh --version && jq --version
+ - name: Get Ccache from Apache Stash
+ uses:
apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
with:
path: '${{ env.CCACHE_DIR }}'
- key: ccache-centos9-release-shared-${{runner.arch}}-${{github.sha}}
- restore-keys: |
- ccache-centos9-release-shared-${{runner.arch}}
+ key: ccache-centos9-release-shared-${{runner.arch}}-${{
hashFiles('ep/build-velox/src/**') }}
- name: Build Gluten native libraries
run: |
df -a
@@ -1052,13 +1059,11 @@ jobs:
- run: df -h | sort -k 5 -nr # check disk space for debug
- uses: actions/checkout@v4
- - name: Get Ccache
- uses: actions/cache/restore@v4
+ - name: Get Ccache from Apache Stash
+ uses:
apache/infrastructure-actions/stash/restore@0ba14156c9f4c3cfbe4b0c9f36339ab0f8d81e53
with:
path: '${{ env.CCACHE_DIR }}'
- key:
ccache-centos9-cudf-release-shared-${{runner.arch}}-${{github.sha}}
- restore-keys: |
- ccache-centos9-cudf-release-shared-${{runner.arch}}
+ key: ccache-centos9-cudf-release-shared-${{runner.arch}}-${{
hashFiles('ep/build-velox/src/**') }}
- name: Build Gluten native libraries
run: |
docker run -v $GITHUB_WORKSPACE:/work -w /work
apache/gluten:centos-9-jdk8-cudf bash -c "
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]