-
Notifications
You must be signed in to change notification settings - Fork 28
Added make targets to run E2E tests on ephemeral clusters #108
Conversation
Signed-off-by: Mateusz Urbanek <[email protected]>
Signed-off-by: Mateusz Urbanek <[email protected]>
Skipping CI for Draft Pull Request. |
/ok-to-test |
Makefile
Outdated
## Location to install dependencies to | ||
TOOLBIN ?= $(CURDIR)/.cache/tools | ||
$(TOOLBIN): | ||
mkdir -p $(TOOLBIN) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have found that go mod vendor
seems to be a simpler way of downloading tools to a local cache. I used that method with the client generator and found it worked well. Then we can get rid of go-install-tool
entirely for something like
tools:
cd hack/tools && go mod vendor -o $(TOOLBIN)
WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like the fact that go run <tool>
does not cache, and always rebuilds the binary. While not an issue in CI, this is not the best for local development.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It sounds like you plan to make a small change or two, so I will hold off on adding the approve/lgtm labels for now. Thanks for doing this work and answering my questions about the methods!
Signed-off-by: Mateusz Urbanek <[email protected]>
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: BlaineEXE, shanduur The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This PR introduces Makefile targets to improve tool management and to enable streamlined execution of end-to-end (E2E) tests. It enhances the setup for managing dependencies and testing within the CI pipeline.
Key Changes:
Tool Management:
Makefile
targets to manage development tools, including:golangci-lint
ctlptl
kind
kustomize
chainsaw
hack/tools/go.mod
file to ensure consistent versions across environments.go-install-tool
helper function to facilitate tool installation, reducing manual setup steps.Cluster and Deployment Management:
ctlptl
andkind
, includingcluster
andcluster-reset
targets.deploy
andundeploy
targets for simplified Kubernetes deployment, usingkubectl
andkustomize
.E2E Test Execution:
Makefile
to run E2E tests usingchainsaw
with a dedicatedtest-e2e
target.chainsaw
to usetest/e2e/values.yaml
for test values, ensuring tests are executed with predefined settings.Kustomization and Resource Changes:
controller
resources for consistency in naming and structure:container-object-storage-system
.namespace.yaml
resource undercontroller/resources
.Additional Updates: