Skip to content

Huge Go Module Cache Test with setup-go (Preserve Root Files, Go 1.24) - v5 #33

Huge Go Module Cache Test with setup-go (Preserve Root Files, Go 1.24) - v5

Huge Go Module Cache Test with setup-go (Preserve Root Files, Go 1.24) - v5 #33

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