Skip to content

Commit

Permalink
ci: checkout first, disable go caching
Browse files Browse the repository at this point in the history
First, checking out the code should be done before installing Go.

Second, since we don't have top-level go.mod, actions/setup-go
complains:

> Restore cache failed: Dependencies file is not found in /home/runner/work/sys/sys. Supported file pattern: go.sum

One way to solve this would be to

	cache-dependency-path: "*/go.sum"

parameter to actions/setup-go. Alas it won't work because not all
modules here have go.mod, and * in GHA is not what you think it is
(i.e. not a part of shell glob pattern, but rather "every directory"),
and as a result it complains about missing go.sum files.

Another way is to list all the paths explicitly, which is not good from
the maintainability perspective (someone will definitely forgot to add
a go.sum path).

Yet another way is to add a step which lists all go.sum. It works
something like this:

	- name: Find go.sum files
	  id: gosum
	  run: |
	  echo 'files<<EOF' >> "$GITHUB_OUTPUT"
	  git ls-files '*/go.sum' >> "$GITHUB_OUTPUT"
	  echo 'EOF' >> "$GITHUB_OUTPUT"

	...
	- name: Install Go
	  uses: actions/setup-go@v5
	    with:
	      cache-dependency-path: ${{ steps.gosum.outputs.files }}

But given the fact that caching is not doing much here (as we don't have
a lot of code) it's becoming too complicated with not much to gain.

So, let's just disable Go caching, so the warning above will go away.

Signed-off-by: Kir Kolyshkin <[email protected]>
  • Loading branch information
kolyshkin committed Sep 27, 2024
1 parent 2a3520a commit abc10f0
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@ jobs:
run:
shell: bash
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v4
# Disable caching as we don't have top-level go.sum needed for
# the cache key, and specifying multiple go.sums is not trivial
# (see https://github.com/moby/sys/pull/160 for details).
cache: false
- name: Set PACKAGES env
if: ${{ matrix.go-version == '1.18.x' }}
run: |
Expand Down

0 comments on commit abc10f0

Please sign in to comment.