Skip to content

Commit ac0e2c5

Browse files
committed
Merge remote-tracking branch 'origin/main' into ft/org-welcome-msg
Tool: gitpod/catfood.gitpod.cloud
2 parents b4149c6 + ba2f367 commit ac0e2c5

File tree

134 files changed

+4016
-3038
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+4016
-3038
lines changed

.github/workflows/configcat.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- name: Checkout
1212
uses: actions/checkout@v4
1313
- name: Scan & upload
14-
uses: configcat/scan-repository@v1
14+
uses: configcat/scan-repository@v2
1515
with:
1616
api-user: ${{ secrets.CONFIGCAT_API_USER }}
1717
api-pass: ${{ secrets.CONFIGCAT_API_PASS }}

WORKSPACE.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ defaultVariant:
3838
- GOARCH=amd64
3939
- DOCKER_DEFAULT_PLATFORM=linux/amd64
4040
- NODE_OPTIONS=--max_old_space_size=8192
41+
- LEEWAY_BUILD=true
4142
srcs:
4243
exclude:
4344
# Make sure we don't include node_modules/**/*.ts by accident

components/blobserve/go.mod

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module github.com/gitpod-io/gitpod/blobserve
22

3-
go 1.22
3+
go 1.22.0
4+
5+
toolchain go1.23.3
46

57
require (
68
github.com/containerd/containerd v1.6.36
@@ -13,7 +15,7 @@ require (
1315
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb
1416
github.com/opencontainers/image-spec v1.1.0
1517
github.com/prometheus/client_golang v1.18.0
16-
github.com/spf13/cobra v1.6.0
18+
github.com/spf13/cobra v1.7.0
1719
golang.org/x/sync v0.6.0
1820
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
1921
)
@@ -33,7 +35,7 @@ require (
3335
github.com/docker/docker-credential-helpers v0.8.0 // indirect
3436
github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5 // indirect
3537
github.com/felixge/httpsnoop v1.0.4 // indirect
36-
github.com/fsnotify/fsnotify v1.6.0 // indirect
38+
github.com/fsnotify/fsnotify v1.7.0 // indirect
3739
github.com/gitpod-io/gitpod/components/scrubber v0.0.0-00010101000000-000000000000 // indirect
3840
github.com/gitpod-io/gitpod/registry-facade/api v0.0.0-00010101000000-000000000000 // indirect
3941
github.com/go-logr/logr v1.4.1 // indirect
@@ -52,7 +54,7 @@ require (
5254
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
5355
github.com/hashicorp/golang-lru v1.0.2 // indirect
5456
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
55-
github.com/inconshreveable/mousetrap v1.0.1 // indirect
57+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
5658
github.com/ipfs/bbloom v0.0.4 // indirect
5759
github.com/ipfs/boxo v0.18.0 // indirect
5860
github.com/ipfs/go-bitfield v1.1.0 // indirect
@@ -149,9 +151,9 @@ require (
149151
google.golang.org/protobuf v1.33.0 // indirect
150152
gopkg.in/inf.v0 v0.9.1 // indirect
151153
gopkg.in/yaml.v2 v2.4.0 // indirect
152-
k8s.io/api v0.29.3 // indirect
153-
k8s.io/apimachinery v0.29.3 // indirect
154-
k8s.io/klog/v2 v2.110.1 // indirect
154+
k8s.io/api v0.30.9 // indirect
155+
k8s.io/apimachinery v0.30.9 // indirect
156+
k8s.io/klog/v2 v2.120.1 // indirect
155157
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
156158
lukechampine.com/blake3 v1.2.1 // indirect
157159
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
@@ -166,52 +168,52 @@ replace github.com/gitpod-io/gitpod/registry-facade => ../registry-facade // lee
166168

167169
replace github.com/gitpod-io/gitpod/registry-facade/api => ../registry-facade-api/go // leeway
168170

169-
replace k8s.io/api => k8s.io/api v0.29.3 // leeway indirect from components/common-go:lib
171+
replace k8s.io/api => k8s.io/api v0.30.9 // leeway indirect from components/common-go:lib
170172

171-
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.3 // leeway indirect from components/common-go:lib
173+
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.30.9 // leeway indirect from components/common-go:lib
172174

173-
replace k8s.io/apimachinery => k8s.io/apimachinery v0.29.3 // leeway indirect from components/common-go:lib
175+
replace k8s.io/apimachinery => k8s.io/apimachinery v0.30.9 // leeway indirect from components/common-go:lib
174176

175-
replace k8s.io/apiserver => k8s.io/apiserver v0.29.3 // leeway indirect from components/common-go:lib
177+
replace k8s.io/apiserver => k8s.io/apiserver v0.30.9 // leeway indirect from components/common-go:lib
176178

177-
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.29.3 // leeway indirect from components/common-go:lib
179+
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.30.9 // leeway indirect from components/common-go:lib
178180

179-
replace k8s.io/client-go => k8s.io/client-go v0.29.3 // leeway indirect from components/common-go:lib
181+
replace k8s.io/client-go => k8s.io/client-go v0.30.9 // leeway indirect from components/common-go:lib
180182

181-
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.29.3 // leeway indirect from components/common-go:lib
183+
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.30.9 // leeway indirect from components/common-go:lib
182184

183-
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.29.3 // leeway indirect from components/common-go:lib
185+
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.30.9 // leeway indirect from components/common-go:lib
184186

185-
replace k8s.io/code-generator => k8s.io/code-generator v0.29.3 // leeway indirect from components/common-go:lib
187+
replace k8s.io/code-generator => k8s.io/code-generator v0.30.9 // leeway indirect from components/common-go:lib
186188

187-
replace k8s.io/component-base => k8s.io/component-base v0.29.3 // leeway indirect from components/common-go:lib
189+
replace k8s.io/component-base => k8s.io/component-base v0.30.9 // leeway indirect from components/common-go:lib
188190

189-
replace k8s.io/cri-api => k8s.io/cri-api v0.29.3 // leeway indirect from components/common-go:lib
191+
replace k8s.io/cri-api => k8s.io/cri-api v0.30.9 // leeway indirect from components/common-go:lib
190192

191-
replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.29.3 // leeway indirect from components/common-go:lib
193+
replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.30.9 // leeway indirect from components/common-go:lib
192194

193-
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.29.3 // leeway indirect from components/common-go:lib
195+
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.30.9 // leeway indirect from components/common-go:lib
194196

195-
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.29.3 // leeway indirect from components/common-go:lib
197+
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.30.9 // leeway indirect from components/common-go:lib
196198

197-
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.29.3 // leeway indirect from components/common-go:lib
199+
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.30.9 // leeway indirect from components/common-go:lib
198200

199-
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.29.3 // leeway indirect from components/common-go:lib
201+
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.30.9 // leeway indirect from components/common-go:lib
200202

201-
replace k8s.io/kubelet => k8s.io/kubelet v0.29.3 // leeway indirect from components/common-go:lib
203+
replace k8s.io/kubelet => k8s.io/kubelet v0.30.9 // leeway indirect from components/common-go:lib
202204

203-
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.29.3 // leeway indirect from components/common-go:lib
205+
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.9 // leeway indirect from components/common-go:lib
204206

205-
replace k8s.io/metrics => k8s.io/metrics v0.29.3 // leeway indirect from components/common-go:lib
207+
replace k8s.io/metrics => k8s.io/metrics v0.30.9 // leeway indirect from components/common-go:lib
206208

207-
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.3 // leeway indirect from components/common-go:lib
209+
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.30.9 // leeway indirect from components/common-go:lib
208210

209-
replace k8s.io/component-helpers => k8s.io/component-helpers v0.29.3 // leeway indirect from components/common-go:lib
211+
replace k8s.io/component-helpers => k8s.io/component-helpers v0.30.9 // leeway indirect from components/common-go:lib
210212

211-
replace k8s.io/controller-manager => k8s.io/controller-manager v0.29.3 // leeway indirect from components/common-go:lib
213+
replace k8s.io/controller-manager => k8s.io/controller-manager v0.30.9 // leeway indirect from components/common-go:lib
212214

213-
replace k8s.io/kubectl => k8s.io/kubectl v0.29.3 // leeway indirect from components/common-go:lib
215+
replace k8s.io/kubectl => k8s.io/kubectl v0.30.9 // leeway indirect from components/common-go:lib
214216

215-
replace k8s.io/mount-utils => k8s.io/mount-utils v0.29.3 // leeway indirect from components/common-go:lib
217+
replace k8s.io/mount-utils => k8s.io/mount-utils v0.30.9 // leeway indirect from components/common-go:lib
216218

217-
replace k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.29.3 // leeway indirect from components/common-go:lib
219+
replace k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.30.9 // leeway indirect from components/common-go:lib

components/blobserve/go.sum

Lines changed: 14 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/blobserve/leeway.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Licensed under the GNU Affero General Public License (AGPL).
33
# See License.AGPL.txt in the project root for license information.
44

5-
FROM cgr.dev/chainguard/wolfi-base:latest@sha256:da76d41652574266729c891334f257e00c2f35c00785c99025df148ef5015dab
5+
FROM cgr.dev/chainguard/wolfi-base:latest@sha256:1ec3327af43d7af231ffe475aff88d49dbb5e09af9f28610e6afbd2cb096e751
66

77
# Ensure latest packages are present, like security updates.
88
RUN apk upgrade --no-cache \

components/common-go/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# How to upgrade Kubernetes dependencies
2+
3+
General steps:
4+
1. modify target versions in `go-update-wc-deps.sh`
5+
1. run `./go-update-wc-deps.sh`
6+
1. if it fails, fix the test/code, and run it again until all tests are good - except `install/installer`
7+
1. take care of `install/installer`
8+
1. manually verify that the `go.mod` has the target versions set, and if not, adjust manually (not sure why these get overriden there)
9+
1. make sure `helm.sh/helm/v3` is set to a compatible version (refer to https://github.com/helm/helm/releases/ to see which release bumps "k8s-io" to which version)
10+
1. test with `go mod tidy && go test ./...` until it succeeds
11+
12+
13+
gpl: I just noticed that probably `go-get-kubernetes.sh` was meant for bumping kubernetes versions in `common-go` - which I did manually. So probably that should be the very first step.

components/common-go/go-update-wc-deps.sh

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ declare -A WORKSPACE_CLUSTER_DEPENDENCIES
1717
WORKSPACE_CLUSTER_DEPENDENCIES["github.com/containerd/containerd"]="1.6.36"
1818
WORKSPACE_CLUSTER_DEPENDENCIES["github.com/moby/buildkit"]="0.12.5"
1919
WORKSPACE_CLUSTER_DEPENDENCIES["github.com/opencontainers/runc"]="1.1.14"
20+
# Reasoning for this version: https://pkg.go.dev/sigs.k8s.io/controller-runtime#section-readme
21+
WORKSPACE_CLUSTER_DEPENDENCIES["sigs.k8s.io/controller-runtime"]="0.18.7"
22+
# Prefix matches
23+
WORKSPACE_CLUSTER_DEPENDENCIES["k8s.io/"]="0.30.9"
2024

2125
# loop through keys of each associative array
2226
for key in "${!WORKSPACE_CLUSTER_DEPENDENCIES[@]}"
@@ -33,24 +37,63 @@ do
3337
FOLDER="$(dirname "${c}")"
3438
pushd "${FOLDER}"
3539

36-
if grep -q "${key}" go.mod && ! grep -q "${key} v${WORKSPACE_CLUSTER_DEPENDENCIES[${key}]}" go.mod; then
37-
go get "${key}"@v"${WORKSPACE_CLUSTER_DEPENDENCIES[${key}]}"
38-
# shellcheck disable=SC2076
39-
if [[ ! " ${COMPONENTS_TO_TEST[*]} " =~ " ${FOLDER} " ]]; then
40-
COMPONENTS_TO_TEST+=("${FOLDER}")
40+
# list all package to update, in case "key" is a prefix
41+
PACKAGES=$(grep -o "[[:space:]]${key}[^ ]*" go.mod | tr -d "[:blank:]" | sort | uniq)
42+
for p in ${PACKAGES}; do
43+
if [[ "$p" == k8s.io/klog* ]] || [[ "$p" == k8s.io/utils* ]] || [[ "$p" == k8s.io/kube-openapi* ]] || [[ "$p" == k8s.io/gengo* ]]; then
44+
# special case imported indirectly, we don't want to update these. Also, they have different versions.
45+
echo "Ignoring ${p}..."
46+
continue
4147
fi
42-
fi
48+
49+
if grep -q "${p}" go.mod && ! grep -q "${p} v${WORKSPACE_CLUSTER_DEPENDENCIES[${key}]}" go.mod; then
50+
go get "${p}"@v"${WORKSPACE_CLUSTER_DEPENDENCIES[${key}]}"
51+
# shellcheck disable=SC2076
52+
if [[ ! " ${COMPONENTS_TO_TEST[*]} " =~ " ${FOLDER} " ]]; then
53+
COMPONENTS_TO_TEST+=("${FOLDER}")
54+
fi
55+
fi
56+
done
4357

4458
popd
4559
done
4660
done
4761

62+
echo ""
63+
echo "========== Done updating, doing tidy and testing now =========="
64+
echo ""
65+
66+
# Cleanup installer separately because it depends on all other packages
67+
# Doing "go mod tidy" in this order avoids package resolution confusion
68+
INSTALLER_PACKAGE=""
69+
4870
for t in "${COMPONENTS_TO_TEST[@]}"
4971
do
72+
if [[ "${t}" == "*install/installer" ]]; then
73+
# do after all others, as it's depending on all other packages
74+
INSTALLER_PACKAGE="${t}"
75+
continue
76+
fi
77+
5078
pushd "${t}"
5179
# clean it up
5280
go mod tidy
5381
# assert that build and tests pass
54-
go test ./...
82+
83+
84+
if [[ "${t}" == "test" ]]; then
85+
echo "Skipping tests for ${t}"
86+
else
87+
go test ./...
88+
fi
5589
popd
5690
done
91+
92+
if [[ -n "${INSTALLER_PACKAGE}" ]]; then
93+
pushd "${INSTALLER_PACKAGE}"
94+
# clean it up
95+
go mod tidy
96+
# assert that build and tests pass
97+
go test ./...
98+
popd
99+
fi

0 commit comments

Comments
 (0)