Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding a canary CI target to test against upcoming dependencies #3209

Merged
merged 1 commit into from
Jul 16, 2024

Conversation

apostasie
Copy link
Contributor

@apostasie apostasie commented Jul 10, 2024

This PR introduces a new CI target (held in a separate file) that uses unreleased, upcoming, or otherwise main versions of our dependencies.

Specifically, it is setting us forward on:

  • the next golang version
  • containerd main
  • distribution upcoming v3
  • buildkit last rc

and a few others on main.

The purpose of this is to constantly have a "canary" target that will let us proactively identify and address upcoming issues in our dependency ecosystem.

Right now, it is not testing everything. Specifically ignored on this target are freebsd and ipv6 targets.

This will fix #3208

This PR also modifies slightly our "main" testing targets to pin containerd to an actual RC instead of main.

This is now running "green" - but of course would love feedback here so if you folks feel anything is missing / should be done differently, lmk and happy to discuss.

@apostasie apostasie force-pushed the dev-3208 branch 13 times, most recently from 2a8b826 to 71bf51b Compare July 11, 2024 01:02
@apostasie apostasie marked this pull request as ready for review July 11, 2024 02:44
@apostasie apostasie changed the title [WIP] Adding a canary CI target to test against upcoming / unreleased versions Adding a canary CI target to test against upcoming / unreleased versions Jul 11, 2024
Dockerfile Outdated Show resolved Hide resolved
@apostasie apostasie force-pushed the dev-3208 branch 2 times, most recently from 91cc62d to deb1149 Compare July 11, 2024 18:11
@apostasie
Copy link
Contributor Author

apostasie commented Jul 11, 2024

@AkihiroSuda
With latest push:

  • auto-detection of latest go release (+magic to convert it to a version acceptable to actions/setup-go)
  • removed the stuff in Dockerfile to deal with empty GO_VERSION
  • hook-up the variables into build-args

[update] reverting to draft for now. I like the idea of scraping versions to get the latest for everything instead of having to manually maintain these. This requires a little bit more work scraping github.

@apostasie apostasie marked this pull request as draft July 11, 2024 18:33
@apostasie apostasie changed the title Adding a canary CI target to test against upcoming / unreleased versions [DRAFT] Adding a canary CI target to test against upcoming / unreleased versions Jul 11, 2024
@apostasie apostasie force-pushed the dev-3208 branch 4 times, most recently from 44b0197 to ae5164e Compare July 12, 2024 05:47
@apostasie
Copy link
Contributor Author

CI is still running, but nevertheless, this is ready for the most part.

What this is now doing:

  • for all dependencies listed at the top of ./hack/build-integration-canary.sh, retrieves the latest published version (alpha, beta, RC), and use that for integration test
  • do the same thing for GO_VERSION

This is automatic - we do not have to manually maintain this file.
It is a bit slow (1 minute), and the script is a bit of a mouthful, but it does take care of everything (inc. the SHASUM files in case they are not here - which is fine, in that case).

I initially considered running (some) deps against their main / master, but after some tests, it seems like more trouble than reward.

Pending CI being green (or further comments here), PTAL at your convenience.

@apostasie apostasie marked this pull request as ready for review July 12, 2024 05:48
@apostasie apostasie changed the title [DRAFT] Adding a canary CI target to test against upcoming / unreleased versions Adding a canary CI target to test against upcoming dependencies Jul 12, 2024
@apostasie apostasie force-pushed the dev-3208 branch 2 times, most recently from 42cfd15 to faca9aa Compare July 12, 2024 17:05
@apostasie
Copy link
Contributor Author

@AkihiroSuda I think we are getting close.

Comment has been addressed, and now Windows also autodetect latest containerd.

I am now using the GITHUB_TOKEN magically injected secret.

PTAL at your convenience.

Sorry for the churn here. This one obviously needed a little bit of back and forth - and your suggestion to automate retrieval of latest Go prompted an interesting direction for the rest.

Thanks!

@AkihiroSuda AkihiroSuda added this to the v2.0.0 milestone Jul 16, 2024
@AkihiroSuda AkihiroSuda requested a review from a team July 16, 2024 06:08
Copy link
Member

@AkihiroSuda AkihiroSuda left a comment

Choose a reason for hiding this comment

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

Thanks

@AkihiroSuda AkihiroSuda merged commit d9e83bd into containerd:main Jul 16, 2024
19 checks passed
@AkihiroSuda AkihiroSuda added the area/ci e.g., CI failure label Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ci e.g., CI failure
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Distribution v3 is coming
2 participants