Open krlmlr opened 1 year ago
I am not sure if this is a workaround or best practice, I use
${{ matrix.os }}-${{ matrix.type }}
for my builds.
What about when you have a complicated matrix for testing?
We have a pretty involved matrix right now:
- uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ matrix.config }}-${{ matrix.compiler }}-${{ matrix.os }}-${{ matrix.santizer }}-${{ matrix.etc }}
If someone makes a change to the matrix it's easy to forget to update the key.
Is there a better way to write this? IE an automated way to get a hash of the matrix that I could use for the key? Or auto detect the platform / matrix if possible?
I run a build matrix across macOS, Linux (Ubuntu 20.04 and 22.04) and Windows. It seems to make no sense to reuse the same cache across platforms, and I suspect a race condition when those platforms are actually built and cached in parallel.
Should the platform be part of the cache key by default? I'm currently working around: https://github.com/krlmlr/duckdb-r/blob/ccache/.github/workflows/install/action.yml#L87-L97