Skip to content

chore: bump go, e2e: flux/argo & restructure e2e-bin build#5333

Merged
moolen merged 4 commits intomainfrom
mj-bump-e2e
Sep 30, 2025
Merged

chore: bump go, e2e: flux/argo & restructure e2e-bin build#5333
moolen merged 4 commits intomainfrom
mj-bump-e2e

Conversation

@moolen
Copy link
Copy Markdown
Member

@moolen moolen commented Sep 18, 2025

This PR bumps e2e test components: fluxcd, argocd as well as bumping flux API versions.
I've changed the e2e Dockerfile to allow caching of go modules/build files.

Timings:

  • with cache: 12m33s
  • without cache: 17m30s

@moolen moolen changed the title 2chore: bump flux/argo & restructure e2e-bin build chore: bump flux/argo & restructure e2e-bin build Sep 18, 2025
@github-actions github-actions bot added component/github-actions size/m kind/chore Categorizes Pull Requests for chore activities (like bumping versions) labels Sep 18, 2025
@moolen moolen force-pushed the mj-bump-e2e branch 2 times, most recently from c40a9f5 to e006422 Compare September 18, 2025 21:00
@github-actions github-actions bot added the kind/dependency dependabot and upgrades label Sep 18, 2025
openssl

ENV KUBECTL_VERSION="v1.34.1"
ENV HELM_VERSION="v3.19.0"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

intention: instead of building the binaries inside the container, they are built from a Makefile target before the e2e image is built.
This allows us to leverage the go mod/build cache.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be a comment in code instead? 0 chances I am gonna find that in 6 months without it being in either comment OR git blame.

},
Spec: v1.ServiceSpec{
}
_, err = controllerutil.CreateOrUpdate(GinkgoT().Context(), s.config.CRClient, svc, func() error {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make it idempotent to allow re-running the test without recreating the cluster - in case one ctrl+c out of the test.

@moolen moolen marked this pull request as ready for review September 18, 2025 21:54
Copy link
Copy Markdown
Contributor

@evrardjp evrardjp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not familiar enough with the e2e code to review this. I haven't tried it locally. At first glance it does make sense but i have no clue about collateral impact. I will try to test locally.

@moolen
Copy link
Copy Markdown
Member Author

moolen commented Sep 19, 2025

You should be able to run them with make test.e2e TEST_SUITES="flux argocd" (no further credentials needed).
Both generator and provider test suites require lots of env vars to be present, that's not something you want to go through the first time 😅

@evrardjp
Copy link
Copy Markdown
Contributor

You should be able to run them with make test.e2e TEST_SUITES="flux argocd" (no further credentials needed).

Both generator and provider test suites require lots of env vars to be present, that's not something you want to go through the first time 😅

That's what i imagined... I was sadly thinking about the tough provider way. But unrelated to my first tests so let's ignore that for now. Thanks.

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
@moolen
Copy link
Copy Markdown
Member Author

moolen commented Sep 22, 2025

I removed all bits related to caching from the PR. I'm not really sure if we should even touch the cache, as setup-go has its own caching mechanism builtin supporting go dependencies as well as build outputs.

We could hand-roll the cache handling for setup-go (see actions/setup-go#316), but honestly this bloats the CI pipeline quite significantly, not sure if i like the trade-off.

@evrardjp
Copy link
Copy Markdown
Contributor

evrardjp commented Sep 23, 2025

The CI already feels difficult for a newcomer tbh.

I welcome the fact to NOT add complexity.

I like this better.

I still can't test it, I would appreciate some time with you to test locally.

@rkferreira
Copy link
Copy Markdown
Contributor

rkferreira commented Sep 23, 2025

My current setup breaks on trying to run e2e locally, I suppose its a problema here. I did some changes but, still no able to complete it.

I'm running on macos arm, lima nerdctl (for docker usage),

make test.e2e TEST_SUITES="flux argocd"

It fails on kind load docker-image , with a weird error... it seems like a bug, something related to this setup.

Just mentioning, if anyone have a similar setup.

@moolen
Copy link
Copy Markdown
Member Author

moolen commented Sep 23, 2025

I'm running on macos arm, lima nerdctl (for docker usage),

make test.e2e TEST_SUITES="flux argocd"

It fails on kind load docker-image , with a weird error... it seems like a bug, something related to this setup.

This is likely an issue with architecture incompatibility of kind images and the images built by make. IIRC Mac OS can emulate amd64 and it's not painfully slow. You just need to make sure all architectures align nicely.

@moolen
Copy link
Copy Markdown
Member Author

moolen commented Sep 23, 2025

The CI already feels difficult for a newcomer tbh.
I still can't test it, I would appreciate some time with you to test locally.

I feel you, the e2e tests are a bit hard to grasp. I guess it would make sense to have a knowledge sharing session on this.

@rkferreira
Copy link
Copy Markdown
Contributor

IIRC Mac OS

I need some help on what "IIRC" stands for :)

@webstradev
Copy link
Copy Markdown
Contributor

IIRC Mac OS

I need some help on what "IIRC" stands for :)

iirc it stands for "if i recall correctly"

Copy link
Copy Markdown
Contributor

@jakobmoellerdev jakobmoellerdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly good for me

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
@moolen moolen changed the title chore: bump flux/argo & restructure e2e-bin build chore: bump go, e2e: flux/argo & restructure e2e-bin build Sep 25, 2025
@Skarlso
Copy link
Copy Markdown
Contributor

Skarlso commented Sep 27, 2025

@moolen Something else you need on this?

@moolen
Copy link
Copy Markdown
Member Author

moolen commented Sep 30, 2025

@Skarlso i think i need an approval :D Feel free to take a look.

@moolen moolen enabled auto-merge (squash) September 30, 2025 17:59
@moolen moolen merged commit 4e85644 into main Sep 30, 2025
1 check passed
@moolen moolen deleted the mj-bump-e2e branch September 30, 2025 17:59
@sonarqubecloud
Copy link
Copy Markdown

asivanadi0 pushed a commit to asivanadi0/external-secrets that referenced this pull request Oct 22, 2025
…secrets#5333)

* chore: bump flux/argo & restructure e2e-bin build

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

* remove explicit cache

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

* fix: use go-version-file everywhere

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

---------

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
Signed-off-by: Anpoo Sivanadi <sivanadi08@gmail.com>
SamuelMolling pushed a commit to SamuelMolling/external-secrets that referenced this pull request Oct 24, 2025
…secrets#5333)

* chore: bump flux/argo & restructure e2e-bin build

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

* remove explicit cache

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

* fix: use go-version-file everywhere

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

---------

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
Signed-off-by: Samuel Molling <samuelmolling@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/github-actions kind/chore Categorizes Pull Requests for chore activities (like bumping versions) kind/dependency dependabot and upgrades size/m

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants