Huge Go Module Cache Test with setup-go (Preserve Root Files, Go 1.24) - v5 #33
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
| name: Huge Go Module Cache Test with setup-go (Preserve Root Files, Go 1.24) - v5 | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [ "main" ] | |
| jobs: | |
| big-cache-ubuntu: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup Go with cache | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.24' | |
| cache: true | |
| cache-dependency-path: bigcachetest/go.sum | |
| - name: Clean Go module cache | |
| run: go clean -modcache | |
| - name: Create large go.mod in test directory | |
| working-directory: bigcachetest | |
| run: | | |
| cat <<EOF > go.mod | |
| module example.com/bigcachetest | |
| go 1.24 | |
| require ( | |
| github.com/aws/aws-sdk-go-v2 v1.29.0 | |
| cloud.google.com/go v0.110.0 | |
| github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 | |
| github.com/lib/pq v1.10.9 | |
| github.com/go-sql-driver/mysql v1.7.0 | |
| github.com/golang/protobuf v1.5.3 | |
| github.com/elastic/go-elasticsearch/v8 v8.10.0 | |
| ) | |
| EOF | |
| - name: Create dummy Go file to force dependency download | |
| working-directory: bigcachetest | |
| run: | | |
| cat <<EOF > dummy.go | |
| package main | |
| import ( | |
| _ "github.com/aws/aws-sdk-go-v2/aws" | |
| _ "cloud.google.com/go" | |
| _ "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob" | |
| _ "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" | |
| _ "github.com/lib/pq" | |
| _ "github.com/go-sql-driver/mysql" | |
| _ "github.com/golang/protobuf/proto" | |
| _ "github.com/elastic/go-elasticsearch/v8" | |
| ) | |
| func main() {} | |
| EOF | |
| - name: Tidy go.mod and go.sum | |
| working-directory: bigcachetest | |
| run: go mod tidy | |
| - name: Download dependencies | |
| working-directory: bigcachetest | |
| run: go mod download | |
| - name: Check Go module cache size | |
| run: du -sh ~/go/pkg/mod | |
| big-cache-macos: | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup Go with cache | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.24' | |
| cache: true | |
| cache-dependency-path: bigcachetest/go.sum | |
| - name: Clean Go module cache | |
| run: go clean -modcache | |
| - name: Create large go.mod in test directory | |
| working-directory: bigcachetest | |
| run: | | |
| cat <<EOF > go.mod | |
| module example.com/bigcachetest | |
| go 1.24 | |
| require ( | |
| github.com/aws/aws-sdk-go-v2 v1.29.0 | |
| cloud.google.com/go v0.110.0 | |
| github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 | |
| github.com/lib/pq v1.10.9 | |
| github.com/go-sql-driver/mysql v1.7.0 | |
| github.com/golang/protobuf v1.5.3 | |
| github.com/elastic/go-elasticsearch/v8 v8.10.0 | |
| ) | |
| EOF | |
| - name: Create dummy Go file to force dependency download | |
| working-directory: bigcachetest | |
| run: | | |
| cat <<EOF > dummy.go | |
| package main | |
| import ( | |
| _ "github.com/aws/aws-sdk-go-v2/aws" | |
| _ "cloud.google.com/go" | |
| _ "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob" | |
| _ "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" | |
| _ "github.com/lib/pq" | |
| _ "github.com/go-sql-driver/mysql" | |
| _ "github.com/golang/protobuf/proto" | |
| _ "github.com/elastic/go-elasticsearch/v8" | |
| ) | |
| func main() {} | |
| EOF | |
| - name: Tidy go.mod and go.sum | |
| working-directory: bigcachetest | |
| run: go mod tidy | |
| - name: Download dependencies | |
| working-directory: bigcachetest | |
| run: go mod download | |
| - name: Check Go module cache size | |
| run: du -sh ~/go/pkg/mod | |
| big-cache-windows: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup Go with cache | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.24' | |
| cache: true | |
| cache-dependency-path: bigcachetest/go.sum | |
| - name: Clean Go module cache | |
| run: go clean -modcache | |
| - name: Create large go.mod in test directory | |
| working-directory: bigcachetest | |
| run: | | |
| $goMod = @" | |
| module example.com/bigcachetest | |
| go 1.24 | |
| require ( | |
| github.com/aws/aws-sdk-go-v2 v1.29.0 | |
| cloud.google.com/go v0.110.0 | |
| github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0 | |
| github.com/lib/pq v1.10.9 | |
| github.com/go-sql-driver/mysql v1.7.0 | |
| github.com/golang/protobuf v1.5.3 | |
| github.com/elastic/go-elasticsearch/v8 v8.10.0 | |
| ) | |
| "@ | |
| Set-Content -Path go.mod -Value $goMod | |
| - name: Create dummy Go file to force dependency download | |
| working-directory: bigcachetest | |
| run: | | |
| $dummyGo = @" | |
| package main | |
| import ( | |
| _ "github.com/aws/aws-sdk-go-v2/aws" | |
| _ "cloud.google.com/go" | |
| _ "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob" | |
| _ "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute" | |
| _ "github.com/lib/pq" | |
| _ "github.com/go-sql-driver/mysql" | |
| _ "github.com/golang/protobuf/proto" | |
| _ "github.com/elastic/go-elasticsearch/v8" | |
| ) | |
| func main() {} | |
| "@ | |
| Set-Content -Path dummy.go -Value $dummyGo | |
| - name: Tidy go.mod and go.sum | |
| working-directory: bigcachetest | |
| run: go mod tidy | |
| - name: Download dependencies | |
| working-directory: bigcachetest | |
| run: go mod download | |
| - name: Check Go module cache size | |
| run: du -sh $env:USERPROFILE\go\pkg\mod |