phate/jlm

Cache for BuildCirct action does not work as intended

Closed this issue · 2 comments

The git commit hash is for some reason not used for the input key to the cache.
This can result in an old version of CIRCT being used.

Log output

Run ./.github/actions/BuildCirct
Run echo "hash=$(./scripts/build-circt.sh --get-commit-hash)" >> $GITHUB_OUTPUT
cc32a6c6702a5fe0ade64ee906b8d80c45d48f94
Run actions/cache@v4
Cache not found for input keys: Linux-circt-

Action script

runs:
  using: "composite"
  steps:
    - name: "Get the commit used for building CIRCT and use it as the cache key"
      id: get-circt-hash
      run: |
        echo "hash=$(./scripts/build-circt.sh --get-commit-hash)" >> $GITHUB_OUTPUT
      shell: bash

    - name: "Try to fetch CIRCT from the cache"
      id: cache-circt
      uses: actions/cache@v4
      with:
        path: |
          ${{ github.workspace }}/build-circt/circt
        key: ${{ runner.os }}-circt-${{ steps.get-circt-hash.outputs.hash }}

@sjalander Has this been fixed with the last PRs that you merged? If so, could you link the PRs here and close it?

The problem was that the build scripts providing the git commit hash printed to stderr instead of stdout, so the CI never caught the output.
Fixed by #542