Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
1.21 reached end of support in August of 2024.
1.22 was chosen because there were errors thrown on 1.23 - tabled for later date.
This PR is a bit larger than usual given the way the prior Docker images were configured in order to update the go version. Previously, it appears that you would need to perform the following to update the go version:
eksctl
"build" image to ECR. This means that only maintainers with write access to ECR can update go versions, and this is done locally! Not greatThis is interesting for two reasons:
eksctl
binary is copied out of this dev build image into the resulting final image. If this psuedo development environment image was of value, there are probably better ways to achieve this using multi-stage builds and removing the need to have a person push the intermediate image to ECR from their local machineTo simplify, this PR removes the dev build image entirely which removes the majority of the complexity in this process. The resulting image that is pushed to ECR is based on other K8s/EKS images. I did not get a chance to dig into the code generation and whether any of that is used in the resulting final executable or if that is only for testing, but there could be further simplification - tabled for a later date.
With this changes, we therefore can remove the following:
.requirements
file is removed which avoids version skew issues; any binaries needed are instead installed viago install ...
in the Makefile before their useinstall-build-deps
Make targeteksctl-build
image, scripts, and manifests are removed.github/workflows/ecr-publish-build.yaml
workflowMakefile.docker
.github/workflows/build-all-distros-nightly.yaml
workflow is removed since its redundant of the CI checks, and has been failing for some time.github/workflows/cache-dependencies.yaml
workflow is removed since there are already a number of cache points in the workflows and we are over-caching which is rendering this mootWith this change, an outside OSS contributor can now update the version go and build, test, and validate that change before creating a PR without any maintainer involvement.
Checklist
README.md
, or theuserdocs
directory)area/nodegroup
) and kind (e.g.kind/improvement
)BONUS POINTS checklist: complete for good vibes and maybe prizes?! 🤯