Skip to content

Commit 743e6de

Browse files
chore(ci): fix dependency update job (#2819)
* chore(ci): fix dependency update job * Update Makefile versions (#2820) Co-authored-by: emosbaugh <[email protected]> * f * f * f --------- Co-authored-by: replicated-ci-ec <[email protected]> Co-authored-by: emosbaugh <[email protected]>
1 parent f2c461e commit 743e6de

File tree

11 files changed

+65
-32
lines changed

11 files changed

+65
-32
lines changed

.github/workflows/dependencies.yaml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@ jobs:
1313
update-dependencies:
1414
runs-on: ubuntu-latest
1515
steps:
16-
- name: Check out repo
16+
- name: Checkout
1717
uses: actions/checkout@v5
18-
- name: Set up Go
18+
19+
- name: Setup go
1920
uses: actions/setup-go@v6
2021
with:
2122
go-version-file: go.mod
2223
cache-dependency-path: "**/*.sum"
24+
2325
- name: K0s
2426
env:
2527
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -31,20 +33,42 @@ jobs:
3133
echo "k0s minor version: $K0S_MINOR_VERSION"
3234
./scripts/k0s-update-dependencies.sh "$K0S_MINOR_VERSION" \
3335
UPDATE_ALL_IMAGES=true
36+
3437
- name: Troubleshoot
3538
env:
3639
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3740
run: |
3841
version=$(gh release list --repo replicatedhq/troubleshoot --json name,isLatest | jq -r '.[] | select(.isLatest)|.name')
3942
echo "troubleshoot version: $version"
4043
sed -i "/^TROUBLESHOOT_VERSION/c\TROUBLESHOOT_VERSION = $version" versions.mk
44+
4145
- name: FIO
4246
env:
4347
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4448
run: |
45-
version=$(gh release list --repo axboe/fio --json name,isLatest | jq -r '.[] | select(.isLatest)|.name' | cut -d- -f2)
49+
version=$(gh release list --repo axboe/fio --json name,isLatest | jq -r '.[] | select(.isLatest)|.name' | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?')
4650
echo "fio version: $version"
4751
sed -i "/^FIO_VERSION/c\FIO_VERSION = $version" versions.mk
52+
53+
- name: Controller Tools
54+
env:
55+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
run: |
57+
version=$(gh release list --repo kubernetes-sigs/controller-tools --json name,isLatest | jq -r '.[] | select(.isLatest)|.name')
58+
echo "controller-tools version: $version"
59+
sed -i "/^CONTROLLER_TOOLS_VERSION/c\CONTROLLER_TOOLS_VERSION = $version" versions.mk
60+
# update CRDs
61+
make -C kinds generate
62+
make -C operator manifests
63+
64+
- name: Kustomize
65+
env:
66+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
67+
run: |
68+
version=$(gh release list --repo kubernetes-sigs/kustomize --json name,createdAt | jq -r '.[] | select(.name | startswith("kustomize/")) | .name' | head -1 | sed 's/kustomize\///')
69+
echo "kustomize version: $version"
70+
sed -i "/^KUSTOMIZE_VERSION/c\KUSTOMIZE_VERSION = $version" versions.mk
71+
4872
- name: Create Pull Request
4973
uses: peter-evans/create-pull-request@v7
5074
with:

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ envtest: crds
274274
$(MAKE) -C operator envtest
275275

276276
.PHONY: unit-tests
277+
unit-tests: ENVTEST_K8S_VERSION = $(shell echo $(K0S_VERSION) | sed 's/v\([0-9]*\.[0-9]*\)\.[0-9]*.*/\1/')
277278
unit-tests: envtest
278279
KUBEBUILDER_ASSETS="$(shell ./operator/bin/setup-envtest use $(ENVTEST_K8S_VERSION) --bin-dir $(shell pwd)/operator/bin -p path)" \
279280
go test -race -tags $(GO_BUILD_TAGS) -v ./pkg/... ./cmd/... ./web/... ./pkg-new/...

api/controllers/linux/install/controller_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -708,17 +708,17 @@ func TestRunHostPreflights(t *testing.T) {
708708
sm := NewStateMachine(WithCurrentState(tt.currentState))
709709

710710
mockPreflightManager := &preflight.MockHostPreflightManager{}
711-
mockReporter := &metrics.MockReporter{}
711+
mockMetricsReporter := &metrics.MockReporter{}
712712
mockStore := &store.MockStore{}
713713

714-
tt.setupMocks(mockPreflightManager, rc, mockReporter, mockStore)
714+
tt.setupMocks(mockPreflightManager, rc, mockMetricsReporter, mockStore)
715715

716716
controller, err := NewInstallController(
717717
WithRuntimeConfig(rc),
718718
WithStateMachine(sm),
719719
WithHostPreflightManager(mockPreflightManager),
720720
WithReleaseData(getTestReleaseData(&kotsv1beta1.Config{})),
721-
WithMetricsReporter(mockReporter),
721+
WithMetricsReporter(mockMetricsReporter),
722722
WithStore(mockStore),
723723
)
724724
require.NoError(t, err)
@@ -741,11 +741,15 @@ func TestRunHostPreflights(t *testing.T) {
741741
}, time.Second, 100*time.Millisecond, "state machine should not be locked")
742742

743743
mockPreflightManager.AssertExpectations(t)
744-
mockReporter.AssertExpectations(t)
745744
mockStore.LinuxInfraMockStore.AssertExpectations(t)
746745
mockStore.LinuxInstallationMockStore.AssertExpectations(t)
747746
mockStore.LinuxPreflightMockStore.AssertExpectations(t)
748747
mockStore.AppConfigMockStore.AssertExpectations(t)
748+
749+
// Wait for the event handler goroutine to complete
750+
// TODO: find a better way to do this
751+
time.Sleep(1 * time.Second)
752+
mockMetricsReporter.AssertExpectations(t)
749753
})
750754
}
751755
}

api/integration/linux/install/appinstall_test.go

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ func TestPostInstallApp(t *testing.T) {
184184
rc.SetDataDir(t.TempDir())
185185

186186
// Create mock metrics reporter - this is the key test for reporting handlers
187-
mockReporter := &metrics.MockReporter{}
188-
mockReporter.On("ReportInstallationSucceeded", mock.Anything)
187+
mockMetricsReporter := &metrics.MockReporter{}
188+
mockMetricsReporter.On("ReportInstallationSucceeded", mock.Anything)
189189

190190
// Create mock app install manager that succeeds
191191
mockAppInstallManager := &appinstallmanager.MockAppInstallManager{}
@@ -220,7 +220,7 @@ func TestPostInstallApp(t *testing.T) {
220220
installController, err := linuxinstall.NewInstallController(
221221
linuxinstall.WithStateMachine(stateMachine),
222222
linuxinstall.WithAppInstallController(appInstallController),
223-
linuxinstall.WithMetricsReporter(mockReporter),
223+
linuxinstall.WithMetricsReporter(mockMetricsReporter),
224224
linuxinstall.WithReleaseData(&release.ReleaseData{
225225
EmbeddedClusterConfig: &ecv1beta1.Config{},
226226
ChannelRelease: &release.ChannelRelease{
@@ -262,9 +262,13 @@ func TestPostInstallApp(t *testing.T) {
262262
return stateMachine.CurrentState() == states.StateSucceeded
263263
}, 10*time.Second, 100*time.Millisecond, "state should transition to Succeeded")
264264

265-
// Verify that ReportInstallationSucceeded was called
266-
mockReporter.AssertExpectations(t)
267265
mockAppInstallManager.AssertExpectations(t)
266+
267+
// Wait for the event handler goroutine to complete
268+
// TODO: find a better way to do this
269+
time.Sleep(1 * time.Second)
270+
// Verify that ReportInstallationSucceeded was called
271+
mockMetricsReporter.AssertExpectations(t)
268272
})
269273

270274
t.Run("Invalid state transition", func(t *testing.T) {
@@ -319,8 +323,8 @@ func TestPostInstallApp(t *testing.T) {
319323
rc.SetDataDir(t.TempDir())
320324

321325
// Create mock metrics reporter expecting failure report
322-
mockReporter := &metrics.MockReporter{}
323-
mockReporter.On("ReportInstallationFailed", mock.Anything, mock.MatchedBy(func(err error) bool {
326+
mockMetricsReporter := &metrics.MockReporter{}
327+
mockMetricsReporter.On("ReportInstallationFailed", mock.Anything, mock.MatchedBy(func(err error) bool {
324328
return err.Error() == "install app: installation failed"
325329
}))
326330

@@ -361,7 +365,7 @@ func TestPostInstallApp(t *testing.T) {
361365
installController, err := linuxinstall.NewInstallController(
362366
linuxinstall.WithStateMachine(stateMachine),
363367
linuxinstall.WithAppInstallController(appInstallController),
364-
linuxinstall.WithMetricsReporter(mockReporter),
368+
linuxinstall.WithMetricsReporter(mockMetricsReporter),
365369
linuxinstall.WithStore(mockStore),
366370
linuxinstall.WithReleaseData(integration.DefaultReleaseData()),
367371
linuxinstall.WithRuntimeConfig(rc),
@@ -395,10 +399,14 @@ func TestPostInstallApp(t *testing.T) {
395399
return stateMachine.CurrentState() == states.StateAppInstallFailed
396400
}, 10*time.Second, 100*time.Millisecond, "state should transition to AppInstallFailed")
397401

398-
// Verify that ReportInstallationFailed was called
399-
mockReporter.AssertExpectations(t)
400402
mockAppInstallManager.AssertExpectations(t)
401403
mockStore.AppInstallMockStore.AssertExpectations(t)
404+
405+
// Wait for the event handler goroutine to complete
406+
// TODO: find a better way to do this
407+
time.Sleep(1 * time.Second)
408+
// Verify that ReportInstallationFailed was called
409+
mockMetricsReporter.AssertExpectations(t)
402410
})
403411

404412
t.Run("Authorization error", func(t *testing.T) {

operator/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ fmt: ## Run go fmt against code.
7575
go fmt ./...
7676

7777
.PHONY: test
78+
test: ENVTEST_K8S_VERSION = $(shell echo $(K0S_VERSION) | sed 's/v\([0-9]*\.[0-9]*\)\.[0-9]*.*/\1/')
7879
test: manifests envtest ## Run tests.
7980
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test -tags $(GO_BUILD_TAGS) ./... -coverprofile cover.out
8081

operator/charts/embedded-cluster-operator/charts/crds/templates/resources.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.18.0
5+
controller-gen.kubebuilder.io/version: v0.19.0
66
labels:
77
replicated.com/disaster-recovery: infra
88
replicated.com/disaster-recovery-chart: embedded-cluster-operator
@@ -259,7 +259,7 @@ apiVersion: apiextensions.k8s.io/v1
259259
kind: CustomResourceDefinition
260260
metadata:
261261
annotations:
262-
controller-gen.kubebuilder.io/version: v0.18.0
262+
controller-gen.kubebuilder.io/version: v0.19.0
263263
labels:
264264
replicated.com/disaster-recovery: ec-install
265265
name: installations.embeddedcluster.replicated.com

operator/config/crd/bases/embeddedcluster.replicated.com_configs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.18.0
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: configs.embeddedcluster.replicated.com
88
spec:
99
group: embeddedcluster.replicated.com

operator/config/crd/bases/embeddedcluster.replicated.com_installations.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.18.0
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: installations.embeddedcluster.replicated.com
88
spec:
99
group: embeddedcluster.replicated.com

operator/config/crd/bases/embeddedcluster.replicated.com_kubernetesinstallations.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.18.0
6+
controller-gen.kubebuilder.io/version: v0.19.0
77
name: kubernetesinstallations.embeddedcluster.replicated.com
88
spec:
99
group: embeddedcluster.replicated.com

pkg/crds/resources.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.18.0
5+
controller-gen.kubebuilder.io/version: v0.19.0
66
labels:
77
replicated.com/disaster-recovery: infra
88
replicated.com/disaster-recovery-chart: embedded-cluster-operator
@@ -259,7 +259,7 @@ apiVersion: apiextensions.k8s.io/v1
259259
kind: CustomResourceDefinition
260260
metadata:
261261
annotations:
262-
controller-gen.kubebuilder.io/version: v0.18.0
262+
controller-gen.kubebuilder.io/version: v0.19.0
263263
labels:
264264
replicated.com/disaster-recovery: ec-install
265265
name: installations.embeddedcluster.replicated.com

0 commit comments

Comments
 (0)