Skip to content

Commit c08b852

Browse files
committed
Update kube versions under test
Signed-off-by: Ryan Swanson <ryan.swanson@loft.sh>
1 parent 2dd0345 commit c08b852

File tree

7 files changed

+44
-12
lines changed

7 files changed

+44
-12
lines changed

.github/workflows/e2e-tests.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ jobs:
2424
strategy:
2525
matrix:
2626
kubernetes_version:
27-
- v1.27.3
28-
- v1.28.0
27+
- v1.35.0
28+
- v1.34.3
2929
steps:
3030
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
3131
- name: Checkout repo
@@ -36,11 +36,11 @@ jobs:
3636
with:
3737
version: ${{ matrix.kubernetes_version }}
3838

39-
# Creates KinD with using k8s versions from the matrix above
40-
- name: Set up kind with K8s version v1.22.4
39+
# Creates kind using the Kubernetes versions from the matrix above
40+
- name: Set up kind cluster
4141
uses: engineerd/setup-kind@v0.5.0
4242
with:
43-
version: "v0.20.0"
43+
version: "v0.31.0"
4444
image: kindest/node:${{ matrix.kubernetes_version }}
4545

4646
- name: Testing kind cluster set-up

e2e/tests/restarthelper/restarthelper.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"context"
66
"io"
77
"os"
8+
"path/filepath"
89
"strings"
910
"time"
1011

@@ -20,6 +21,16 @@ import (
2021
"github.com/sirupsen/logrus"
2122
)
2223

24+
// writeUniqueBuildMarker ensures the test image is unique per run so it does not reuse an already-cached node image ID
25+
func writeUniqueBuildMarker(tempDir string) {
26+
err := os.WriteFile(
27+
filepath.Join(tempDir, ".devspace-e2e-build-marker"),
28+
[]byte(time.Now().Format(time.RFC3339Nano)),
29+
0644,
30+
)
31+
framework.ExpectNoError(err)
32+
}
33+
2334
var _ = DevSpaceDescribe("restarthelper", func() {
2435
initialDir, err := os.Getwd()
2536
if err != nil {
@@ -44,6 +55,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
4455
tempDir, err := framework.CopyToTempDir("tests/restarthelper/testdata/v5")
4556
framework.ExpectNoError(err)
4657
defer framework.CleanupTempDir(initialDir, tempDir)
58+
writeUniqueBuildMarker(tempDir)
4759

4860
ns, err := kubeClient.CreateNamespace("restarthelper")
4961
framework.ExpectNoError(err)
@@ -125,6 +137,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
125137
tempDir, err := framework.CopyToTempDir("tests/restarthelper/testdata/v6")
126138
framework.ExpectNoError(err)
127139
defer framework.CleanupTempDir(initialDir, tempDir)
140+
writeUniqueBuildMarker(tempDir)
128141

129142
ns, err := kubeClient.CreateNamespace("restarthelper")
130143
framework.ExpectNoError(err)
@@ -206,6 +219,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
206219
tempDir, err := framework.CopyToTempDir("tests/restarthelper/testdata/v6-inject-restart-helper")
207220
framework.ExpectNoError(err)
208221
defer framework.CleanupTempDir(initialDir, tempDir)
222+
writeUniqueBuildMarker(tempDir)
209223

210224
ns, err := kubeClient.CreateNamespace("restarthelper")
211225
framework.ExpectNoError(err)
@@ -296,6 +310,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
296310
tempDir, err := framework.CopyToTempDir("tests/restarthelper/testdata/v6-manual-start")
297311
framework.ExpectNoError(err)
298312
defer framework.CleanupTempDir(initialDir, tempDir)
313+
writeUniqueBuildMarker(tempDir)
299314

300315
ns, err := kubeClient.CreateNamespace("restarthelper")
301316
framework.ExpectNoError(err)
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
FROM alpine
2-
CMD ["sh", "-c" , "echo 'Started with legacy restart helper' && tail -f /dev/null"]
2+
COPY .devspace-e2e-build-marker /.devspace-e2e-build-marker
3+
CMD ["sh", "-c" , "echo 'Started with legacy restart helper' && tail -f /dev/null"]
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
FROM alpine
2-
CMD ["sh", "-c" , "echo 'Started with legacy restart helper' && tail -f /dev/null"]
2+
COPY .devspace-e2e-build-marker /.devspace-e2e-build-marker
3+
CMD ["sh", "-c" , "echo 'Started with legacy restart helper' && tail -f /dev/null"]
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
FROM alpine
2-
CMD ["sh", "-c" , "echo 'Started manually' && tail -f /dev/null"]
2+
COPY .devspace-e2e-build-marker /.devspace-e2e-build-marker
3+
CMD ["sh", "-c" , "echo 'Started manually' && tail -f /dev/null"]
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
FROM alpine
2-
CMD ["tail", "-f", "/dev/null"]
2+
COPY .devspace-e2e-build-marker /.devspace-e2e-build-marker
3+
CMD ["tail", "-f", "/dev/null"]

e2e/tests/sync/sync.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"os"
66
"path/filepath"
7+
"strings"
78
"sync"
89
"time"
910

@@ -834,11 +835,23 @@ var _ = DevSpaceDescribe("sync", func() {
834835
// check that included file was not synced
835836
framework.ExpectRemoteFileNotFound("alpine", ns, "/app/syncme/file.txt")
836837

837-
// write a file and check that it got synced
838+
// Keep writing until the sync watcher observes a local change. This avoids
839+
// racing the first write against watcher startup in slower CI environments.
838840
payload := randutil.GenerateRandomString(10000)
839-
err = os.WriteFile(filepath.Join(tempDir, "watching.txt"), []byte(payload), 0666)
841+
err = wait.PollUntilContextTimeout(context.TODO(), time.Second, time.Minute*2, true, func(_ context.Context) (done bool, err error) {
842+
err = os.WriteFile(filepath.Join(tempDir, "watching.txt"), []byte(payload), 0666)
843+
if err != nil {
844+
return false, err
845+
}
846+
847+
out, err := kubeClient.ExecByImageSelector("alpine", ns, []string{"cat", "/app/watching.txt"})
848+
if err != nil {
849+
return false, nil
850+
}
851+
852+
return strings.TrimSpace(out) == strings.TrimSpace(payload), nil
853+
})
840854
framework.ExpectNoError(err)
841-
framework.ExpectRemoteFileContents("alpine", ns, "/app/watching.txt", payload)
842855

843856
// stop command
844857
stop()

0 commit comments

Comments
 (0)