Skip to content

Commit 5ba3d9c

Browse files
author
lmvysakh
committed
Generating huge cache with dependency files with v5
1 parent e6ce351 commit 5ba3d9c

File tree

2 files changed

+207
-0
lines changed

2 files changed

+207
-0
lines changed
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
name: Huge Go Module Cache Test with setup-go (Preserve Root Files) - go v5
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [ "main" ]
7+
8+
jobs:
9+
big-cache-ubuntu:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v5
13+
14+
- name: Create test directory
15+
run: mkdir -p bigcachetest
16+
17+
- name: Create large go.mod & go.sum in test directory
18+
working-directory: bigcachetest
19+
run: |
20+
cat <<EOF > go.mod
21+
module example.com/bigcachetest
22+
23+
go 1.24
24+
25+
require (
26+
github.com/aws/aws-sdk-go-v2 v1.29.0
27+
cloud.google.com/go v0.110.0
28+
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0
29+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.2.0
30+
github.com/lib/pq v1.10.9
31+
github.com/go-sql-driver/mysql v1.7.0
32+
github.com/golang/protobuf v1.5.3
33+
google.golang.org/grpc v1.60.0
34+
github.com/Shopify/sarama v1.40.0
35+
github.com/elastic/go-elasticsearch/v8 v8.10.0
36+
github.com/hashicorp/terraform v1.6.2
37+
github.com/uber-go/zap v1.24.0
38+
github.com/prometheus/client_golang v1.16.0
39+
github.com/gin-gonic/gin v1.9.0
40+
github.com/go-redis/redis/v8 v8.11.5
41+
github.com/gorilla/websocket v1.5.0
42+
github.com/sirupsen/logrus v1.9.3
43+
github.com/spf13/cobra v1.8.0
44+
github.com/spf13/viper v1.18.2
45+
go.mongodb.org/mongo-driver v1.13.1
46+
github.com/google/uuid v1.6.0
47+
github.com/minio/minio-go/v7 v7.0.28
48+
github.com/docker/docker/client v23.0.2
49+
github.com/kubernetes/client-go v0.29.0
50+
github.com/coreos/etcd/clientv3 v3.5.10
51+
github.com/apache/thrift v0.19.0
52+
github.com/apache/arrow/go/v13 v13.0.0
53+
github.com/nats-io/nats.go v1.22.1
54+
github.com/segmentio/kafka-go v0.4.30
55+
github.com/googleapis/gax-go/v2 v2.7.0
56+
github.com/gocql/gocql v1.5.0
57+
)
58+
EOF
59+
go mod tidy
60+
61+
- name: Setup Go with cache
62+
uses: actions/setup-go@v5
63+
with:
64+
go-version: '1.22'
65+
cache: true
66+
cache-dependency-path: bigcachetest/go.sum
67+
68+
- name: Download dependencies
69+
working-directory: bigcachetest
70+
run: go mod download
71+
72+
- name: Check Go module cache size
73+
run: du -sh ~/go/pkg/mod
74+
75+
big-cache-macos:
76+
runs-on: macos-latest
77+
steps:
78+
- uses: actions/checkout@v5
79+
80+
- name: Create test directory
81+
run: mkdir -p bigcachetest
82+
83+
- name: Create large go.mod & go.sum in test directory
84+
working-directory: bigcachetest
85+
run: |
86+
cat <<EOF > go.mod
87+
module example.com/bigcachetest
88+
89+
go 1.24
90+
91+
require (
92+
github.com/aws/aws-sdk-go-v2 v1.29.0
93+
cloud.google.com/go v0.110.0
94+
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0
95+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.2.0
96+
github.com/lib/pq v1.10.9
97+
github.com/go-sql-driver/mysql v1.7.0
98+
github.com/golang/protobuf v1.5.3
99+
google.golang.org/grpc v1.60.0
100+
github.com/Shopify/sarama v1.40.0
101+
github.com/elastic/go-elasticsearch/v8 v8.10.0
102+
github.com/hashicorp/terraform v1.6.2
103+
github.com/uber-go/zap v1.24.0
104+
github.com/prometheus/client_golang v1.16.0
105+
github.com/gin-gonic/gin v1.9.0
106+
github.com/go-redis/redis/v8 v8.11.5
107+
github.com/gorilla/websocket v1.5.0
108+
github.com/sirupsen/logrus v1.9.3
109+
github.com/spf13/cobra v1.8.0
110+
github.com/spf13/viper v1.18.2
111+
go.mongodb.org/mongo-driver v1.13.1
112+
github.com/google/uuid v1.6.0
113+
github.com/minio/minio-go/v7 v7.0.28
114+
github.com/docker/docker/client v23.0.2
115+
github.com/kubernetes/client-go v0.29.0
116+
github.com/coreos/etcd/clientv3 v3.5.10
117+
github.com/apache/thrift v0.19.0
118+
github.com/apache/arrow/go/v13 v13.0.0
119+
github.com/nats-io/nats.go v1.22.1
120+
github.com/segmentio/kafka-go v0.4.30
121+
github.com/googleapis/gax-go/v2 v2.7.0
122+
github.com/gocql/gocql v1.5.0
123+
)
124+
EOF
125+
go mod tidy
126+
127+
- name: Setup Go with cache
128+
uses: actions/setup-go@v5
129+
with:
130+
go-version: '1.22'
131+
cache: true
132+
cache-dependency-path: bigcachetest/go.sum
133+
134+
- name: Download dependencies
135+
working-directory: bigcachetest
136+
run: go mod download
137+
138+
- name: Check Go module cache size
139+
run: du -sh ~/go/pkg/mod
140+
141+
big-cache-windows:
142+
runs-on: windows-latest
143+
steps:
144+
- uses: actions/checkout@v5
145+
146+
- name: Create test directory
147+
run: mkdir bigcachetest
148+
149+
- name: Create large go.mod & go.sum in test directory
150+
working-directory: bigcachetest
151+
run: |
152+
$goMod = @"
153+
module example.com/bigcachetest
154+
155+
go 1.24
156+
157+
require (
158+
github.com/aws/aws-sdk-go-v2 v1.29.0
159+
cloud.google.com/go v0.110.0
160+
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0
161+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.2.0
162+
github.com/lib/pq v1.10.9
163+
github.com/go-sql-driver/mysql v1.7.0
164+
github.com/golang/protobuf v1.5.3
165+
google.golang.org/grpc v1.60.0
166+
github.com/Shopify/sarama v1.40.0
167+
github.com/elastic/go-elasticsearch/v8 v8.10.0
168+
github.com/hashicorp/terraform v1.6.2
169+
github.com/uber-go/zap v1.24.0
170+
github.com/prometheus/client_golang v1.16.0
171+
github.com/gin-gonic/gin v1.9.0
172+
github.com/go-redis/redis/v8 v8.11.5
173+
github.com/gorilla/websocket v1.5.0
174+
github.com/sirupsen/logrus v1.9.3
175+
github.com/spf13/cobra v1.8.0
176+
github.com/spf13/viper v1.18.2
177+
go.mongodb.org/mongo-driver v1.13.1
178+
github.com/google/uuid v1.6.0
179+
github.com/minio/minio-go/v7 v7.0.28
180+
github.com/docker/docker/client v23.0.2
181+
github.com/kubernetes/client-go v0.29.0
182+
github.com/coreos/etcd/clientv3 v3.5.10
183+
github.com/apache/thrift v0.19.0
184+
github.com/apache/arrow/go/v13 v13.0.0
185+
github.com/nats-io/nats.go v1.22.1
186+
github.com/segmentio/kafka-go v0.4.30
187+
github.com/googleapis/gax-go/v2 v2.7.0
188+
github.com/gocql/gocql v1.5.0
189+
)
190+
"@
191+
Set-Content -Path go.mod -Value $goMod
192+
go mod tidy
193+
194+
- name: Setup Go with cache
195+
uses: actions/setup-go@v5
196+
with:
197+
go-version: '1.22'
198+
cache: true
199+
cache-dependency-path: bigcachetest/go.sum
200+
201+
- name: Download dependencies
202+
working-directory: bigcachetest
203+
run: go mod download
204+
205+
- name: Check Go module cache size
206+
run: du -sh $env:USERPROFILE\go\pkg\mod

bigcachetest/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
For custom dependency test

0 commit comments

Comments
 (0)