Skip to content

Conversation

@jackfrancis
Copy link
Contributor

What type of PR is this?

/kind cleanup

What this PR does / why we need it:

This PR creates new cluster-autoscaler-test and vertical-pod-autoscaler-test GitHub action jobs, and renames verify-and-test to `verify.

This will ensure we run only the tests we need for the changes in a particular PR, and should help prevent full disk errors from running a bunch of test and verify runs in a single job.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:


@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-area labels Oct 20, 2025
@k8s-ci-robot k8s-ci-robot requested review from kgolab and towca October 20, 2025 21:51
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jackfrancis

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 20, 2025
@@ -0,0 +1,41 @@
name: Cluster Autoscaler Tests
Copy link
Member

Choose a reason for hiding this comment

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

A bit of a nit, could this be Cluster Autoscaler (and then VPA be Vertical Pod Autoscaler)

Then line 19 of this file gets changed to test (and similar in the VPA file).
Then make similar changes to the new vpa-golangci-lint.yaml file I made.

The reason is then this summary:

Image

Will be:

Cluster Autoscaler / Test
Vertical Pod Autoscaler / Test
Vertical Pod Autoscaler / Lint

Making it super clear what is running

Then in the future when we break up verify too, we will have:

Cluster Autoscaler / Test
Cluster Autoscaler / Verify
Vertical Pod Autoscaler / Test
Vertical Pod Autoscaler / Verify
Vertical Pod Autoscaler / Lint

Copy link
Member

Choose a reason for hiding this comment

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

+1 on that

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If we rename these "Cluster Autoscaler" and "Vertical Pod Autoscaler", then we are setting ourselves up to create monolith GitHub action definitions again (which we are trying to get away from). Are we confident that a single job for CA and VPA won't fill up storage like we recently encountered?

Copy link
Member

Choose a reason for hiding this comment

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

If we rename these "Cluster Autoscaler" and "Vertical Pod Autoscaler", then we are setting ourselves up to create monolith GitHub action definitions again (which we are trying to get away from).

It's possible to have multiple GitHub actions with the same name, each one containing only a single job

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

"build")
PROJECT="${1}"

case "${PROJECT}" in
Copy link
Collaborator

@towca towca Oct 21, 2025

Choose a reason for hiding this comment

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

Given that the logic is slightly different for each project anyway, I wonder if we should go a step further and just have a per-project file instead of keeping a single entry point here? If not, could we at least rename this file to something more accurate (e.g. run-unit-tests.sh)?

Copy link
Member

Choose a reason for hiding this comment

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

I'm fine with per-project files
These projects aren't really related at all, and only just share a repo.
Having to maintain the logic of handling multiple projects is sometimes annoying

Copy link
Member

Choose a reason for hiding this comment

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

Agree on that

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll do this in a follow-up PR so the changes can be more discrete to eval and potentially roll back

"install")
"vertical-pod-autoscaler")
pushd ${CONTRIB_ROOT}/vertical-pod-autoscaler
go test -count=1 -race $(go list ./... | grep -v /vendor/ | grep -v vertical-pod-autoscaler/e2e | grep -v cluster-autoscaler/apis)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Hm, the cluster-autoscaler/apis shouldn't be relevant anymore, it only applied to CA. Same with vertical-pod-autoscaler/e2e and addon-resizer below.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll take this feedback and the feedback for per-project shell scripts as a follow-up.

@towca
Copy link
Collaborator

towca commented Oct 21, 2025

I have 2 comments but they're more nits, don't block on them if needed. Adding a hold for other reviewers.

/lgtm
/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 21, 2025
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 21, 2025
@adrianmoisey
Copy link
Member

Bump

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 31, 2025
@jackfrancis
Copy link
Contributor Author

/label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Oct 31, 2025
@jackfrancis
Copy link
Contributor Author

@adrianmoisey @towca this should be ready for a final review? I'll split out CA/VPA from the common shell scripts as follow-up tasks

@adrianmoisey
Copy link
Member

/lgtm

Thanks!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 31, 2025
@jackfrancis
Copy link
Contributor Author

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 31, 2025
@k8s-ci-robot k8s-ci-robot merged commit b6e1991 into kubernetes:master Oct 31, 2025
15 checks passed
@jackfrancis jackfrancis deleted the ci-split-test-verify branch October 31, 2025 19:44
@jackfrancis
Copy link
Contributor Author

/cherry-pick cluster-autoscaler-release-1.34

@k8s-infra-cherrypick-robot

@jackfrancis: #8669 failed to apply on top of branch "cluster-autoscaler-release-1.34":

Applying: ci: dedicated UT jobs for CA and VPA
Using index info to reconstruct a base tree...
M	.github/workflows/ci.yaml
Falling back to patching base and 3-way merge...
Auto-merging .github/workflows/verify.yaml
CONFLICT (content): Merge conflict in .github/workflows/verify.yaml
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0001 ci: dedicated UT jobs for CA and VPA

In response to this:

/cherry-pick cluster-autoscaler-release-1.34

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/cluster-autoscaler area/vertical-pod-autoscaler cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants