• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zalando-incubator / cluster-lifecycle-manager
23%
master: 23%

Build:
Build:
LAST BUILD BRANCH: defer-git-gc
DEFAULT BRANCH: master
Repo Added 28 Apr 2018 12:49PM UTC
Files 98
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH defer-git-gc
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • account-alias
  • add-cf-deletions
  • add-logging-error
  • add-render-command
  • add-replace-all
  • add-retry-karpenter-pool
  • alias-instead-of-eks-id
  • all/fix-golint
  • amazonlinux-base-image
  • annotate-resources-for-deletion
  • append-template-func
  • apply-cf-original
  • apply-only
  • aws-cni-custom-networking-support
  • aws-sdk-go-v2
  • aws-sdk-go-v2-error-handling
  • basic-custom-cf-stack-support
  • better-wait-for-apiserver-check
  • build/fix-revive-linter
  • clm-role-update
  • cluster-name
  • clusterName-template-func
  • config-item-decrypt-context
  • config/provider-id
  • configurable-etcd-stack-name
  • controller/compact-errors
  • controller/log-cluster-version
  • controller/order-by-criticality-level
  • create-s3-bucket
  • decommission-eks
  • decommission-karpenter-nodes
  • defer-git-gc
  • delete-leaked-enis
  • dependabot-weekly
  • dependabot/go_modules/all-go-mod-patch-and-minor-029cbc0f93
  • dependabot/go_modules/all-go-mod-patch-and-minor-04e87bc056
  • dependabot/go_modules/all-go-mod-patch-and-minor-05730592e6
  • dependabot/go_modules/all-go-mod-patch-and-minor-0d27686232
  • dependabot/go_modules/all-go-mod-patch-and-minor-1679947796
  • dependabot/go_modules/all-go-mod-patch-and-minor-1ba84b6423
  • dependabot/go_modules/all-go-mod-patch-and-minor-1ed2a05fa8
  • dependabot/go_modules/all-go-mod-patch-and-minor-2090623a6d
  • dependabot/go_modules/all-go-mod-patch-and-minor-21a7d97aac
  • dependabot/go_modules/all-go-mod-patch-and-minor-2814e8ba13
  • dependabot/go_modules/all-go-mod-patch-and-minor-2ca914a482
  • dependabot/go_modules/all-go-mod-patch-and-minor-36b5533cdc
  • dependabot/go_modules/all-go-mod-patch-and-minor-404ac6b9c8
  • dependabot/go_modules/all-go-mod-patch-and-minor-4092d3ac78
  • dependabot/go_modules/all-go-mod-patch-and-minor-417802a379
  • dependabot/go_modules/all-go-mod-patch-and-minor-42a7b1dc5d
  • dependabot/go_modules/all-go-mod-patch-and-minor-4449591ddb
  • dependabot/go_modules/all-go-mod-patch-and-minor-4ab07d9832
  • dependabot/go_modules/all-go-mod-patch-and-minor-4fb0e1b232
  • dependabot/go_modules/all-go-mod-patch-and-minor-4fcea12bee
  • dependabot/go_modules/all-go-mod-patch-and-minor-5f63b6fe5a
  • dependabot/go_modules/all-go-mod-patch-and-minor-6887330aa6
  • dependabot/go_modules/all-go-mod-patch-and-minor-70121de6fd
  • dependabot/go_modules/all-go-mod-patch-and-minor-716c2041a1
  • dependabot/go_modules/all-go-mod-patch-and-minor-728744bffe
  • dependabot/go_modules/all-go-mod-patch-and-minor-743f315dd9
  • dependabot/go_modules/all-go-mod-patch-and-minor-76ac5f9f67
  • dependabot/go_modules/all-go-mod-patch-and-minor-78d07bb27d
  • dependabot/go_modules/all-go-mod-patch-and-minor-7dd7508bb7
  • dependabot/go_modules/all-go-mod-patch-and-minor-90076a96e2
  • dependabot/go_modules/all-go-mod-patch-and-minor-93fc44e06e
  • dependabot/go_modules/all-go-mod-patch-and-minor-97b449ae46
  • dependabot/go_modules/all-go-mod-patch-and-minor-97f3c6d1e4
  • dependabot/go_modules/all-go-mod-patch-and-minor-9b3eb2747c
  • dependabot/go_modules/all-go-mod-patch-and-minor-a50d33a7dc
  • dependabot/go_modules/all-go-mod-patch-and-minor-a8312ca177
  • dependabot/go_modules/all-go-mod-patch-and-minor-ada88edc8e
  • dependabot/go_modules/all-go-mod-patch-and-minor-ae15c639df
  • dependabot/go_modules/all-go-mod-patch-and-minor-b2d406b507
  • dependabot/go_modules/all-go-mod-patch-and-minor-b46ea9f749
  • dependabot/go_modules/all-go-mod-patch-and-minor-c3130e95d6
  • dependabot/go_modules/all-go-mod-patch-and-minor-c7080b7545
  • dependabot/go_modules/all-go-mod-patch-and-minor-ce1732d983
  • dependabot/go_modules/all-go-mod-patch-and-minor-d0c4defd94
  • dependabot/go_modules/all-go-mod-patch-and-minor-d4c2dba58b
  • dependabot/go_modules/all-go-mod-patch-and-minor-d8afffadc2
  • dependabot/go_modules/all-go-mod-patch-and-minor-eadd40a159
  • dependabot/go_modules/all-go-mod-patch-and-minor-eb5497787a
  • dependabot/go_modules/all-go-mod-patch-and-minor-f032061e27
  • dependabot/go_modules/all-go-mod-patch-and-minor-f2d45a5e9d
  • dependabot/go_modules/all-go-mod-patch-and-minor-f34127622e
  • dependabot/go_modules/all-go-mod-patch-and-minor-f87619f7e4
  • dependabot/go_modules/all-go-mod-patch-and-minor-fe0bf285d6
  • dependabot/go_modules/github.com/aws/aws-sdk-go-1.50.29
  • dependabot/go_modules/github.com/aws/aws-sdk-go-1.51.11
  • dependabot/go_modules/github.com/aws/aws-sdk-go-1.51.32
  • dependabot/go_modules/github.com/aws/aws-sdk-go-1.53.14
  • dependabot/go_modules/github.com/aws/aws-sdk-go-1.54.11
  • dependabot/go_modules/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream-1.7.8
  • dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/s3-1.97.3
  • dependabot/go_modules/github.com/go-openapi/strfmt-0.22.1
  • dependabot/go_modules/github.com/go-swagger/go-swagger-0.31.0
  • dependabot/go_modules/github.com/go-viper/mapstructure/v2-2.3.0
  • dependabot/go_modules/github.com/go-viper/mapstructure/v2-2.4.0
  • dependabot/go_modules/github.com/golang-jwt/jwt/v5-5.2.2
  • dependabot/go_modules/github.com/zalando-incubator/kube-ingress-aws-controller-0.15.10
  • dependabot/go_modules/github.com/zalando-incubator/kube-ingress-aws-controller-0.15.14
  • dependabot/go_modules/github.com/zalando-incubator/kube-ingress-aws-controller-0.15.16
  • dependabot/go_modules/github.com/zalando-incubator/kube-ingress-aws-controller-0.15.21
  • dependabot/go_modules/golang.org/x/crypto-0.31.0
  • dependabot/go_modules/golang.org/x/net-0.23.0
  • dependabot/go_modules/golang.org/x/net-0.36.0
  • dependabot/go_modules/golang.org/x/net-0.38.0
  • dependabot/go_modules/golang.org/x/oauth2-0.19.0
  • dependabot/go_modules/golang.org/x/oauth2-0.20.0
  • dependabot/go_modules/golang.org/x/oauth2-0.21.0
  • dependabot/go_modules/golang.org/x/sync-0.7.0
  • drop-legacy-values
  • drop-python-senza
  • eks-decommission
  • eks-etcd
  • eks-ipv4-cidr
  • eks-support
  • eks-support-build
  • eksid-function
  • ensure-cleanup-git
  • etcd-arm-configs
  • etcd-certs-to-s3
  • fix-aws-config-retrier-propagation
  • fix-cf-emtpy-manifests
  • fix-config-update
  • fix-deletion-annotation
  • fix-deletion-loop
  • fix-eks-token
  • fix-git-test
  • fix-kms
  • fix-lint-errors
  • fix-wait-deletion-final-state
  • flex-karpenter-node-pool-configs
  • github.com/golang-jwt/jwt/v5-latest
  • go-1.20
  • go-v1.26
  • graceful-cleanup
  • graceful-patch
  • group-gomod
  • handle-missing-cluster
  • iam-role-trust-relationship-template
  • improve-kubectl-applier
  • increase-max-retries
  • ipv6-support
  • karpenter-detection
  • karpenter-e2e-fix
  • karpenter-node-pool-decommission
  • karpenter-nodepool-decommissioning
  • karpenter-pool-simplified
  • karpenter-relax-instance-types-requirements
  • karpenter-support
  • karpenter-update
  • karpenter-update-2
  • kube-1.25
  • kube-1.27
  • kube-1.29
  • kubectl-apply
  • kubectl-v1.24.17
  • kubectl-v1.31.1
  • kubernetes-v1.28
  • linter-fix
  • local-config-item
  • log-cf-module
  • main-cluster
  • master
  • memory-fraction
  • more-nodes
  • multi-arch-build
  • multi-config-source-doc
  • multi-region-support
  • no-hook
  • oidc-provider
  • oldest-per-region
  • pod-identity-association
  • populate-cluster-config
  • pre-karpenter
  • provider
  • provisioner/add-list-helper
  • provisioner/add-sumQuantities-tests
  • provisioner/check-empty-yaml
  • provisioner/check-empty-yaml-2
  • provisioner/dict-template-func
  • provisioner/json-func
  • provisioner/log-deprecated-access
  • provisioner/remove-deprecated
  • provisioner/remove-deprecated-2
  • provisioner/remove-deprecated-3
  • provisioner/revert-aa4acf113e491f0ac7bcc1ae770b3e44991cfa07
  • provisioner/split-empty
  • re-expose-new-config-from-host
  • refactor
  • remove-deadcode
  • remove-etcd-tls-config
  • remove-legacy-etcd-support
  • remove-legacy-karpenter_pools_enabled-logic
  • remove-old-function
  • remove-senza
  • remove-taupage
  • remove-validation
  • render
  • replace-ami
  • retry-update
  • revert-608-etcd-certs-to-s3
  • revert-613-remove-taupage
  • revert-652-refactor
  • revert-9b60c7325726edec6f3c2c130585f061459cca6e
  • s3-transfermanager
  • sdk-v2
  • shallow-eks-flag
  • sibling-cluster
  • split-lb-worker-subnets
  • split-provisioning
  • sub-quantity-template-func
  • support-internal-node-subnets
  • template-function
  • template/add-funcs
  • update-cr
  • update-deps
  • update-deps-08-2022
  • update-deps-1.30
  • update-deps-2022-03
  • update-deps-2022-04
  • update-deps-2022-06
  • update-deps-2022-11-01
  • update-deps-2023-02-01
  • update-deps-2023-03-01
  • update-deps-2023-04-03
  • update-deps-2023-04-18
  • update-deps-2023-06-01
  • update-deps-2023-07-13
  • update-deps-2024-01
  • update-deps-26-03-19
  • update-docs
  • update-etcd-handling
  • update-generated-code
  • update-go1.21
  • update-jwt-lib
  • use-local-id-for-eks-id
  • vpa-sizing
  • vpc-ipv6-cidrs

31 Jul 2026 01:33PM UTC coverage: 23.276% (+0.05%) from 23.231%
30634949683

push

github

demonCoder95
Defer git garbage collection to prevent blocking during concurrent syncs

When syncing source for hundreds of clusters concurrently, git automatic
garbage collection (gc.auto) can trigger and block operations, causing the
pod to get stuck. This change disables automatic garbage collection for all
git operations and defers it to run after all updates have completed.

Changes:
- Set gc.auto=0 in all git commands via central cmd() helper to prevent
  automatic gc from blocking during clone, remote update, and checkout
- Add GarbageCollect() method to Git struct for deferred gc execution
- Add optional GarbageCollector interface for config sources
- Update CombinedSource to propagate garbage collection to child sources
- Call GarbageCollect() in controller refresh cycle after all updates
- Add test for garbage collection functionality

This ensures git operations remain non-blocking and garbage collection
happens in batch after all cluster syncs are complete.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Signed-off-by: Noor Malik <noor.malik@zalando.de>

15 of 31 new or added lines in 3 files covered. (48.39%)

3247 of 13950 relevant lines covered (23.28%)

6.49 hits per line

Relevant lines Covered
Build:
Build:
13950 RELEVANT LINES 3247 COVERED LINES
6.49 HITS PER LINE
Source Files on master
  • Tree
  • List 98
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
30634949683 defer-git-gc Defer git garbage collection to prevent blocking during concurrent syncs When syncing source for hundreds of clusters concurrently, git automatic garbage collection (gc.auto) can trigger and block operations, causing the pod to get stuck. This ch... push 31 Jul 2026 01:42PM UTC demonCoder95 github
23.28
30634516832 defer-git-gc Defer git garbage collection to prevent blocking during concurrent syncs When syncing source for hundreds of clusters concurrently, git automatic garbage collection (gc.auto) can trigger and block operations, causing the pod to get stuck. This ch... push 31 Jul 2026 01:36PM UTC demonCoder95 github
23.28
29259066687 master Add hasPrefix and hasSuffix CLM functions (#945) Signed-off-by: Zak Lawrence <zaklawrencea@protonmail.com> push 13 Jul 2026 02:51PM UTC web-flow github
22.68
29105186069 master separate function to wait for deletion that check expected end states (#944) * separate function to wait for deletion that check expected end states Signed-off-by: tcondeixa <tscondeixa@gmail.com> * trying to use the last update time to ensure ... push 10 Jul 2026 03:53PM UTC web-flow github
22.69
29099746668 fix-wait-deletion-final-state trying to use the last update time to ensure correct behaviour Signed-off-by: tcondeixa <tscondeixa@gmail.com> Pull #944 10 Jul 2026 02:27PM UTC tcondeixa github
22.69
29099632673 fix-wait-deletion-final-state trying to use the last update time to ensure correct behaviour push 10 Jul 2026 02:25PM UTC tcondeixa github
22.69
29099635377 fix-wait-deletion-final-state trying to use the last update time to ensure correct behaviour Pull #944 10 Jul 2026 02:25PM UTC tcondeixa github
22.69
29097305017 fix-wait-deletion-final-state separate function to wait for deletion that check expected end states Signed-off-by: tcondeixa <tscondeixa@gmail.com> Pull #944 10 Jul 2026 01:48PM UTC tcondeixa github
22.7
29097308376 fix-wait-deletion-final-state separate function to wait for deletion that check expected end states Signed-off-by: tcondeixa <tscondeixa@gmail.com> Pull #944 10 Jul 2026 01:48PM UTC tcondeixa github
22.7
29097273092 fix-wait-deletion-final-state separate function to wait for deletion that check expected end states Pull #944 10 Jul 2026 01:48PM UTC tcondeixa github
22.7
See All Builds (3296)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc