Skip to content

Warm Heavy Baseline Caches on Arm64 #139

Warm Heavy Baseline Caches on Arm64

Warm Heavy Baseline Caches on Arm64 #139

name: Warm Heavy Baseline Caches on Arm64
on:
workflow_dispatch:
schedule:
- cron: '30 1 * * *'
jobs:
warm-heavy-baselines:
name: Warm Heavy Baseline Caches
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Prefetch heavy baseline artifacts
run: |
set -euo pipefail
mkdir -p "${RUNNER_TEMP}/heavy-baselines"
bash .github/scripts/prefetch-heavy-baselines.sh "${RUNNER_TEMP}/heavy-baselines"
- name: Detect prefetched artifacts
id: detect
run: |
set -euo pipefail
root="${RUNNER_TEMP}/heavy-baselines"
has_file() {
local path="$1"
if [ -f "$path" ]; then
echo true
else
echo false
fi
}
echo "spark=$(has_file "$root/spark/spark-3.5.3-bin-hadoop3.tgz")" >> "$GITHUB_OUTPUT"
echo "nifi=$(has_file "$root/nifi/nifi-2.7.2-bin.zip")" >> "$GITHUB_OUTPUT"
echo "pinot=$(has_file "$root/pinot/apache-pinot-1.2.0-bin.tar.gz")" >> "$GITHUB_OUTPUT"
echo "druid=$(has_file "$root/druid/apache-druid-31.0.0-bin.tar.gz")" >> "$GITHUB_OUTPUT"
echo "hive=$(has_file "$root/hive/apache-hive-4.0.0-bin.tar.gz")" >> "$GITHUB_OUTPUT"
echo "hadoop_runtime=$(has_file "$root/hadoop/hadoop-3.3.6.tar.gz")" >> "$GITHUB_OUTPUT"
echo "hadoop_aarch64=$(has_file "$root/hadoop/hadoop-3.3.6-aarch64.tar.gz")" >> "$GITHUB_OUTPUT"
echo "storm=$(has_file "$root/storm/apache-storm-2.8.2.tar.gz")" >> "$GITHUB_OUTPUT"
echo "dolphinscheduler=$(has_file "$root/dolphinscheduler/apache-dolphinscheduler-3.2.1-bin.tar.gz")" >> "$GITHUB_OUTPUT"
- name: Save Spark baseline cache
if: ${{ steps.detect.outputs.spark == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/spark
key: heavy-baseline-spark-3.5.3-hadoop3-arm64-v1
- name: Save NiFi baseline cache
if: ${{ steps.detect.outputs.nifi == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/nifi
key: heavy-baseline-nifi-2.7.2-arm64-v1
- name: Save Pinot baseline cache
if: ${{ steps.detect.outputs.pinot == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/pinot
key: heavy-baseline-pinot-1.2.0-arm64-v1
- name: Save Druid baseline cache
if: ${{ steps.detect.outputs.druid == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/druid
key: heavy-baseline-druid-31.0.0-arm64-v1
- name: Save Hive baseline cache
if: ${{ steps.detect.outputs.hive == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/hive
key: heavy-baseline-hive-4.0.0-arm64-v1
- name: Save Hadoop baseline cache
if: ${{ steps.detect.outputs.hadoop_runtime == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/hadoop/hadoop-3.3.6.tar.gz
key: heavy-baseline-hadoop-3.3.6-runtime-arm64-v1
- name: Save Hadoop aarch64 dependency cache
if: ${{ steps.detect.outputs.hadoop_aarch64 == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/hadoop/hadoop-3.3.6-aarch64.tar.gz
key: heavy-baseline-hadoop-3.3.6-aarch64-arm64-v1
- name: Save Storm baseline cache
if: ${{ steps.detect.outputs.storm == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/storm
key: heavy-baseline-storm-2.8.2-arm64-v1
- name: Save DolphinScheduler baseline cache
if: ${{ steps.detect.outputs.dolphinscheduler == 'true' }}
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ runner.temp }}/heavy-baselines/dolphinscheduler
key: heavy-baseline-dolphinscheduler-3.2.1-arm64-v1