Download cache key #7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # https://gist.github.com/iTrooz/d5bacca32c0974edc6c1ac3ad3ee82f3 | |
| # See https://github.com/cli/cli/issues/9125 | |
| # Extract archive with `tar -xf cache.tzst --transform 's@\.\./@#@g' -P` to avoid ../ errors | |
| name: Download cache key | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| cache_key: | |
| description: 'Cache key' | |
| required: true | |
| type: string | |
| jobs: | |
| cache-download: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Query cache version | |
| id: version | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| VERSION=$(gh api repos/$GITHUB_REPOSITORY/actions/caches \ | |
| --jq " | |
| .actions_caches[] | |
| | select(.ref == \"refs/heads/$GITHUB_REF_NAME\") | |
| | select(.key == \"${{ github.event.inputs.cache_key }}\") | |
| | .version | |
| ") | |
| echo "version=$VERSION" | tee $GITHUB_OUTPUT | |
| - name: Restore cache | |
| uses: iTrooz/cache/restore@restore_with_version | |
| with: | |
| # Path won't be actually used, we will match by 'version'. | |
| path: . | |
| key: ${{ github.event.inputs.cache_key }} | |
| version: ${{ steps.version.outputs.version }} | |
| - name: Upload cached folder as artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cache-artifact | |
| path: | | |
| /home/runner/work/**/*.tzst |