Skip to content

test: core capi bump on turtles upgrade#1965

Merged
alexander-demicev merged 3 commits into
mainfrom
test-capi-bump
Jan 5, 2026
Merged

test: core capi bump on turtles upgrade#1965
alexander-demicev merged 3 commits into
mainfrom
test-capi-bump

Conversation

@salasberryfin
Copy link
Copy Markdown
Contributor

@salasberryfin salasberryfin commented Dec 30, 2025

kind/enhancement
area/testing

What this PR does / why we need it:

This PR adds coverage for testing bumping the version of core CAPI when upgrading Turtles. The scenario is the following:

  • From: Turtles built from current source with pinned version of core CAPI. Currently v1.10.6.
  • To: custom Turtles built from source with a newer version of core CAPI. Currently v1.10.7.

Turtles is upgraded as a system chart by upgrading Rancher as whole and using a new version of Turtles chart which points to a new image. The chart embeds the manifest for the updated version of core CAPI (for which the fetch script is used) and the image is built with a clusterctl configuration that points to the new version of core CAPI and to the upstream registry, as there will be no forked versions of a non-pinned version of the controller.

Testing this requires having a custom procedure for building this alternate image and chart:

  • A new test clusterctl configuration yaml file is added to ./test/e2e/data. This is parsed and used for building the custom image.
  • The core provider's manifest is embedded in the chart before building it and removed afterwards.

This new test is added to the existing chart-upgrade suite as it aligns with its overall scope.

Long E2E test run: https://github.com/rancher/turtles/actions/runs/20662890136

Which issue(s) this PR fixes:
Fixes #1819

Special notes for your reviewer:

While working on these changes I noticed that there were steps in the E2E process that were duplicated in existing GitHub workflows:

  • Long E2E tests first run the image build and publish to Docker Hub, and then run the E2E via make test-e2e. However, make test-e2e itself calls the image building action.
  • Charts were also built twice because of this inconsistency.

The PR tries to address these issues but further optimization (and overall cleanup) should be applied in our current Makefile and automations.

Checklist:

  • squashed commits into logical changes
  • includes documentation
  • adds unit tests
  • adds or updates e2e tests

@salasberryfin salasberryfin added kind/enhancement Categorizes issue or PR as related to a new feature. area/testing Indicates an issue related to test do not merge labels Dec 30, 2025
@salasberryfin salasberryfin changed the title test: core capi bump on turtles upgrade WIP: test: core capi bump on turtles upgrade Dec 30, 2025
@salasberryfin salasberryfin force-pushed the test-capi-bump branch 4 times, most recently from 541ab02 to e6f7c0c Compare December 31, 2025 09:43
@salasberryfin salasberryfin marked this pull request as ready for review December 31, 2025 10:59
@salasberryfin salasberryfin requested a review from a team as a code owner December 31, 2025 10:59
@salasberryfin salasberryfin changed the title WIP: test: core capi bump on turtles upgrade test: core capi bump on turtles upgrade Dec 31, 2025
`chart-upgrade` E2E suite includes a step to verify upgrading to a Turtles
version that ships with a newer version of CAPI. A custom Turtles image
and chart are built for this new test scenario.

Signed-off-by: Carlos Salas <carlos.salas@suse.com>
The cleanup workflow after E2E finishes fails if there are multiple
images that match the tag. Now that we use more than one image for
E2E, we need it to support deletion of multiple images.

Signed-off-by: Carlos Salas <carlos.salas@suse.com>
The existing configuration would only succeed to find the image if it is
available locally. This used to work because the image building action
was embedded in the `test-e2e` make action on the image would always be
locally available. Using `docker manifest inspect` it will also work if
the image is available remotely.

Signed-off-by: Carlos Salas <carlos.salas@suse.com>
@salasberryfin
Copy link
Copy Markdown
Contributor Author

salasberryfin commented Jan 2, 2026

This should be ready to be merged once the long E2E is confirmed to pass after the most recent changes: https://github.com/rancher/turtles/actions/runs/20662890136

@salasberryfin
Copy link
Copy Markdown
Contributor Author

E2E long are now passing: https://github.com/rancher/turtles/actions/runs/20662890136

@salasberryfin salasberryfin requested a review from a team January 2, 2026 18:48
@salasberryfin salasberryfin self-assigned this Jan 5, 2026
Copy link
Copy Markdown
Contributor

@furkatgofurov7 furkatgofurov7 left a comment

Choose a reason for hiding this comment

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

Thank you!

@alexander-demicev alexander-demicev merged commit 58706c7 into main Jan 5, 2026
29 of 31 checks passed
@alexander-demicev alexander-demicev deleted the test-capi-bump branch January 5, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/testing Indicates an issue related to test kind/enhancement Categorizes issue or PR as related to a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test CAPI upgrade when installing from ConfigMap

3 participants