Skip to content

♻️ Refresh ASDF cache #100

♻️ Refresh ASDF cache

♻️ Refresh ASDF cache #100

---
name: ♻️ Refresh ASDF cache
on: # yamllint disable-line rule:truthy
push:
branches: [main]
paths: [.tool-versions]
schedule:
- cron: 12 8 * * *
workflow_dispatch:
permissions: {}
concurrency:
group: asdf-refresh-cache
cancel-in-progress: true
env:
ASDF_DIR: /home/runner/.asdf
jobs:
refresh_cache:
name: ♻️ Refresh cache
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: ⬇️ Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: 🚧 Install required tools
uses: asdf-vm/actions/install@05e0d2ed97b598bfce82fd30daf324ae0c4570e6 # v3.0.2
- name: 📦️ Cache all installed tools
uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ${{ env.ASDF_DIR }}
key: asdf-vm-${{ hashFiles('.tool-versions') }}
validate-cache:
name: ✅ Validate cache exists
runs-on: ubuntu-latest
permissions: {}
needs: refresh_cache
steps:
- name: 🚧 Restore cached tools
uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
fail-on-cache-miss: true
key: asdf-vm-${{ hashFiles('.tool-versions') }}
lookup-only: true
path: ${{ env.ASDF_DIR }}