Skip to content

add skip_checkout to periodics which don't need source code#36825

Open
pohly wants to merge 2 commits intokubernetes:masterfrom
pohly:skip-checkout
Open

add skip_checkout to periodics which don't need source code#36825
pohly wants to merge 2 commits intokubernetes:masterfrom
pohly:skip-checkout

Conversation

@pohly
Copy link
Copy Markdown
Contributor

@pohly pohly commented Apr 16, 2026

0712a63 added extra_refs to all periodics which didn't check out source code because that adds the following labels to the Prow pod:

  • prow.k8s.io/refs.base_ref
  • prow.k8s.io/refs.org
  • prow.k8s.io/refs.repo

Those labels are needed by the dashboards at monitoring-gke.prow.k8s.io.

However, checking out source code that isn't needed by the job slows them down (~ 1 minute), causes more network traffic, and adds the risk that jobs fail when cloning fails. In addition, we then have two sources for which revision got tested (source code checkout and whatever the job itself wrote), which might not be in sync.

Adding skip_checkout avoids the overhead and should avoid the problem with two revisions because the branch reference never gets resolved.

This commit was created by:

  • changing the dra job configuration so that only jobs which need
    k/k checked out have need_kubernetes_repo=true (the previous approach)
    and then adding the repo anyway with skip_cloning for CI jobs
  • adding skip_checkout on top of the 0712a63 commit in all places where
    extra_refs were added
  • rebasing onto master
  • resolving conflicts:
    • 1.32.yaml was removed, 1.36.yaml added => re-generated 1.36.yaml to sync
      with updated jobs on master
    • generated.yaml removed in b9bc949 =>
      manually fixed all jobs added in that commit (more than just
      ci-kubernetes-e2e-gce-cos-k8sbeta-alphafeatures and ci-kubernetes-e2e-gce-cos-k8sbeta-default!)
    • some concurrent changes in other files

Conflicts:

  • config/jobs/kubernetes/generated/generated.yaml
  • config/jobs/kubernetes/sig-cloud-provider/gcp/gcp-gce.yaml
  • config/jobs/kubernetes/sig-release/release-branch-jobs/1.32.yaml
  • config/jobs/kubernetes/sig-release/release-branch-jobs/1.33.yaml
  • config/jobs/kubernetes/sig-release/release-branch-jobs/1.34.yaml

For make -C releng prepare-release-branch to work I had to fix the default shell.

/assign @BenTheElder @upodroid

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. area/config Issues or PRs related to code in /config size/L Denotes a PR that changes 100-499 lines, ignoring generated files. area/conformance Issues or PRs related to kubernetes conformance tests area/jobs area/provider/aws Issues or PRs related to aws provider area/provider/gcp Issues or PRs related to gcp provider area/release-eng Issues or PRs related to the Release Engineering subproject labels Apr 16, 2026
@k8s-ci-robot k8s-ci-robot added sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/k8s-infra Categorizes an issue or PR as relevant to SIG K8s Infra. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/release Categorizes an issue or PR as relevant to SIG Release. labels Apr 16, 2026
@k8s-ci-robot k8s-ci-robot added the sig/scalability Categorizes an issue or PR as relevant to SIG Scalability. label Apr 16, 2026
@k8s-ci-robot k8s-ci-robot added sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. labels Apr 16, 2026
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented Apr 16, 2026

/hold

To give time for reviews.

@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 Apr 16, 2026
pohly added 2 commits April 16, 2026 18:24
0712a63 added extra_refs to all periodics which didn't check out source code
because that adds the following labels to the Prow pod:

- prow.k8s.io/refs.base_ref
- prow.k8s.io/refs.org
- prow.k8s.io/refs.repo

Those labels are needed by the dashboards at monitoring-gke.prow.k8s.io.

However, checking out source code that isn't needed by the job slows them down
(~ 1 minute), causes more network traffic, and adds the risk that jobs fail
when cloning fails. In addition, we then have two sources for which revision
got tested (source code checkout and whatever the job itself wrote), which
might not be in sync.

Adding `skip_cloning` avoids the overhead and should avoid the problem with
two revisions because the branch reference never gets resolved.

This commit was created by:

- changing the dra job configuration so that only jobs which need
  k/k checked out have need_kubernetes_repo=true (the previous approach)
  and then adding the repo anyway with skip_cloning for CI jobs
- adding skip_cloning on top of the 0712a63 commit in all places where
  extra_refs were added
- rebasing onto master
- resolving conflicts:
  - 1.32.yaml was removed, 1.36.yaml added => re-generated 1.36.yaml to sync
    with updated jobs on master
  - generated.yaml removed in b9bc949 =>
    manually fixed all jobs added in that commit (more than just
    ci-kubernetes-e2e-gce-cos-k8sbeta-alphafeatures and ci-kubernetes-e2e-gce-cos-k8sbeta-default!)
  - some concurrent changes in other files

Conflicts:
- config/jobs/kubernetes/generated/generated.yaml
- config/jobs/kubernetes/sig-cloud-provider/gcp/gcp-gce.yaml
- config/jobs/kubernetes/sig-release/release-branch-jobs/1.32.yaml
- config/jobs/kubernetes/sig-release/release-branch-jobs/1.33.yaml
- config/jobs/kubernetes/sig-release/release-branch-jobs/1.34.yaml
`source` and the content of hack/build/setup-go.sh only work with bash.
Explicitly asking for bash makes it possible to do `make -C releng
prepare-release-branch` also on distros where the default shell is not
bash (e.g. Debian).
@pohly
Copy link
Copy Markdown
Contributor Author

pohly commented Apr 17, 2026

/retest

@pohly pohly force-pushed the skip-checkout branch 2 times, most recently from ec94c2d to 86eca5b Compare April 17, 2026 07:02
Copy link
Copy Markdown
Member

@BenTheElder BenTheElder left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve
/hold

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 17, 2026
Copy link
Copy Markdown
Member

@upodroid upodroid left a comment

Choose a reason for hiding this comment

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

Thanks

@github-project-automation github-project-automation Bot moved this from Triage to PRs - Needs Approver in SIG Node CI/Test Board Apr 17, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: BenTheElder, pohly, upodroid

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details 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 the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 17, 2026
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/config Issues or PRs related to code in /config area/conformance Issues or PRs related to kubernetes conformance tests area/jobs area/provider/aws Issues or PRs related to aws provider area/provider/gcp Issues or PRs related to gcp provider area/release-eng Issues or PRs related to the Release Engineering subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/k8s-infra Categorizes an issue or PR as relevant to SIG K8s Infra. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/release Categorizes an issue or PR as relevant to SIG Release. sig/scalability Categorizes an issue or PR as relevant to SIG Scalability. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

Status: PRs - Needs Approver

Development

Successfully merging this pull request may close these issues.

4 participants