Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
259 commits
Select commit Hold shift + click to select a range
a8565cb
Automated repo sync 20250304
iksrochpub Mar 4, 2025
28effd7
Automated repo sync 20250307
iksrochpub Mar 7, 2025
e463f57
Automated repo sync 20250312
iksrochpub Mar 12, 2025
3f0de50
Automated repo sync 20250313
iksrochpub Mar 13, 2025
cb6abaa
Automated repo sync 20250317
iksrochpub Mar 17, 2025
7de75f5
Automated repo sync 20250322
iksrochpub Mar 22, 2025
3f813be
Automated repo sync 20250403
iksrochpub Apr 3, 2025
ef33baf
Automated repo sync 20250405
iksrochpub Apr 5, 2025
4eac124
Automated repo sync 20250408
iksrochpub Apr 8, 2025
05d2eb0
Automated repo sync 20250410
iksrochpub Apr 10, 2025
d380f49
Automated repo sync 20250414
iksrochpub Apr 14, 2025
de57e7a
Automated repo sync 20250416
iksrochpub Apr 16, 2025
7ca18fb
Automated repo sync 20250417
iksrochpub Apr 17, 2025
908d739
Automated repo sync 20250419
iksrochpub Apr 19, 2025
6a01b5b
Automated repo sync 20250424
iksrochpub Apr 24, 2025
e569f53
Automated repo sync 20250425
iksrochpub Apr 25, 2025
6e5aed5
Automated repo sync 20250501
iksrochpub May 1, 2025
98c033e
Automated repo sync 20250506
iksrochpub May 6, 2025
446939c
Automated repo sync 20250508
iksrochpub May 8, 2025
64abd09
Automated repo sync 20250517
iksrochpub May 17, 2025
d0a8a3b
Automated repo sync 20250518
iksrochpub May 18, 2025
6026086
Automated repo sync 20250522
iksrochpub May 22, 2025
5e83204
Automated repo sync 20250530
iksrochpub May 30, 2025
3acb35f
Automated repo sync 20250603
iksrochpub Jun 3, 2025
1aa142d
Automated repo sync 20250604
iksrochpub Jun 4, 2025
1ccdaca
Automated repo sync 20250612
iksrochpub Jun 12, 2025
33b6746
Automated repo sync 20250620
iksrochpub Jun 20, 2025
2d439fb
Automated repo sync 20250623
iksrochpub Jun 23, 2025
ade48a1
Automated repo sync 20250623
iksrochpub Jun 23, 2025
ae52f2b
Automated repo sync 20250627
iksrochpub Jun 27, 2025
2b62b8c
Automated repo sync 20250630
iksrochpub Jun 30, 2025
364e722
Automated repo sync 20250702
iksrochpub Jul 2, 2025
51f6fa6
Automated repo sync 20250708
iksrochpub Jul 8, 2025
117da88
Create initial github actions
jckasper Jul 9, 2025
e68b1f1
Update github action: install golangci-lint, no run
jckasper Jul 9, 2025
9118874
Update github actions: golangci-lint args
jckasper Jul 9, 2025
5f4006c
Update github actions: golangci-lint disable_all, timeout
jckasper Jul 10, 2025
4201ba8
Update github actions: remove install shellcheck
jckasper Jul 10, 2025
6cf3a1f
Automated repo sync 20250710
iksrochpub Jul 10, 2025
6750f8c
Automated repo sync 20250711
iksrochpub Jul 11, 2025
79f2ca1
Delete files that are not needed upstraem (#2)
jckasper Jul 11, 2025
97cad50
Create github action for push/pull_requests (#3)
jckasper Jul 11, 2025
c5b3d46
Create dependabot.yml (#4)
jckasper Jul 11, 2025
e1b5e72
Update dependabot.yml to group k8s patches (#10)
jckasper Jul 11, 2025
5ae528f
Automated repo sync 20250711
iksrochpub Jul 11, 2025
0b793fd
Update dependabot k8s group
jckasper Jul 11, 2025
10ba729
Automated repo sync 20250711
iksrochpub Jul 11, 2025
da06161
Dependabot: increase open-pull-requests-limit
jckasper Jul 11, 2025
18dfff6
Dependabot: One more attempt
jckasper Jul 11, 2025
ef6e1bf
Dependabot: Reduce group to minimal
jckasper Jul 11, 2025
5ea0ae6
Dependabot: Add ibm-sdk group
jckasper Jul 11, 2025
74d1b9e
Automated repo sync 20250712
iksrochpub Jul 12, 2025
4f3e7c3
Update github actions
jckasper Jul 13, 2025
eb45ee9
Diff dependabot groups per branch
jckasper Jul 13, 2025
a14b667
Update github actions
jckasper Jul 13, 2025
8afd8ea
Dynamically determine go / golangci-lint versions (#19)
jckasper Jul 14, 2025
8c88829
Minor updates to the kube-update action (#20)
jckasper Jul 14, 2025
16a06f9
Add echo to kube-update sh
jckasper Jul 14, 2025
dc076c2
Add branches to dependabot
jckasper Jul 14, 2025
0c4fd10
Automated repo sync 20250714
iksrochpub Jul 14, 2025
925ef4f
Dependabot: Add ignore on kube updates, switch to cron scheduling (#31)
jckasper Jul 14, 2025
27e27c5
Revert code to test kube update
jckasper Jul 14, 2025
1350fe1
Update dependabot cron time
jckasper Jul 14, 2025
4e3fc7e
Update kube-update action
jckasper Jul 14, 2025
2357d27
Update kube-update action - v2
jckasper Jul 14, 2025
9f03acd
Update kube-update action - v3
jckasper Jul 14, 2025
6453d3e
Add repository_dispatch
jckasper Jul 14, 2025
9c58f48
Undo go.yml change
jckasper Jul 14, 2025
4946d5e
Update kube-update action - v4
jckasper Jul 14, 2025
bc1be0a
Update kube-update action - v5
jckasper Jul 14, 2025
00d15c3
Update kube-update action - v6
jckasper Jul 14, 2025
2310992
Update kube-update action - v7
jckasper Jul 14, 2025
cfaec71
Bump branch release-1.34 from v1.34.0-alpha.0 to v1.34.0-alpha.3 (#38)
github-actions[bot] Jul 14, 2025
722786c
Update kube-update.sh
jckasper Jul 15, 2025
48af728
Revert code to test kube update
jckasper Jul 15, 2025
21da4c1
Add tracing to kube-update.sh
jckasper Jul 15, 2025
a661919
Update kube-update.sh v2
jckasper Jul 15, 2025
dc3de21
Automated repo sync 20250715
iksrochpub Jul 15, 2025
981ba31
Update go.yml
jckasper Jul 15, 2025
caf74c1
Update kube-update-pr
jckasper Jul 15, 2025
056a31c
Update kube-update workfow
jckasper Jul 16, 2025
81915a6
Update kube-update.yml
jckasper Jul 17, 2025
d0ba90d
Update kube-update.yml
jckasper Jul 17, 2025
7d077c5
Enable auto-merge
jckasper Jul 17, 2025
181caa2
Update dependabot
jckasper Jul 17, 2025
a747bd0
Add debug to auto-merge
jckasper Jul 17, 2025
0a2e552
Automated repo sync 20250718
iksrochpub Jul 18, 2025
4a4cc31
Debug auto-merge
jckasper Jul 18, 2025
4f20ab7
Debug auto-merge v2
jckasper Jul 18, 2025
dec1d5a
Debug auto-merge v3
jckasper Jul 18, 2025
589f974
Final auto-merge dependabot PRs
jckasper Jul 18, 2025
a65986d
Update kube-update.sh
jckasper Jul 19, 2025
9a49a2b
Update kube-update.sh v2
jckasper Jul 19, 2025
fda1d21
Update kube-update.sh v3
jckasper Jul 19, 2025
6c95a5a
Update kube-update.sh v4
jckasper Jul 19, 2025
9810568
Simplify kube-update active with exit 0
jckasper Jul 19, 2025
2ae72a8
Undo last change, add sleep
jckasper Jul 19, 2025
e1c166a
Automated repo sync 20250719
iksrochpub Jul 19, 2025
335af30
Automated repo sync 20250720
iksrochpub Jul 20, 2025
ec99a6e
Adjust retry settings for kube-update
jckasper Jul 21, 2025
52bfe39
Bump branch release-1.34 from v1.34.0-alpha.3 to v1.34.0-beta.0 (#92)
github-actions[bot] Jul 21, 2025
6b2a6e0
Add 1.27 / 1.28
jckasper Jul 22, 2025
91c9895
Automated repo sync 20250722
iksrochpub Jul 22, 2025
9443036
Make kube-update PRs as auto-merge
jckasper Jul 23, 2025
b3b73d7
Update kube-update.yml
jckasper Jul 24, 2025
35e93f6
Remove internal details
jckasper Jul 25, 2025
6d1ac7c
Fix Makefile change
jckasper Jul 25, 2025
7a82c22
Update CODEOWNERS
jckasper Jul 25, 2025
7e41472
Change Makefile go build option
jckasper Jul 25, 2025
70d36ab
Update Makefile
jckasper Jul 25, 2025
0f0f143
Bump branch release-1.34 from v1.34.0-alpha.3 to v1.34.0-beta.0 (#129)
github-actions[bot] Jul 25, 2025
f0ac5fc
Update README.md
jckasper Jul 25, 2025
16843b6
Bump github.com/IBM/go-sdk-core/v5 in the ibm-sdk-1-34 group (#137)
dependabot[bot] Jul 26, 2025
c543ff1
Add ignore for k8s.io/api
jckasper Jul 28, 2025
89dbcef
Test dependabot github-actions
jckasper Aug 5, 2025
a6aa1e1
Ignore golangci/golangci-lint-action
jckasper Aug 5, 2025
f1694f7
Update dependabot
jckasper Aug 5, 2025
5662b6b
Bump peter-evans/create-pull-request from 6 to 7
dependabot[bot] Aug 5, 2025
fe6f4f0
Merge branch 'release-1.34' into dependabot/github_actions/release-1.…
jckasper Aug 5, 2025
a9a7535
Lint github actions
jckasper Aug 5, 2025
536ec31
Try using Super-linter
jckasper Aug 5, 2025
ee6a955
Limit linting of Super-linter
jckasper Aug 5, 2025
b6edf4a
Try to limit Super-linter
jckasper Aug 5, 2025
02f6cb2
Tty super-linter slim
jckasper Aug 5, 2025
b566c1f
Attempt to fix lint issue
jckasper Aug 5, 2025
ab44546
Fix remaining lint issues
jckasper Aug 5, 2025
8b35934
Testing super-linter setting
jckasper Aug 6, 2025
3716d25
Lint only .sh and .yml
jckasper Aug 6, 2025
3b0a82a
Lint markdown files
jckasper Aug 6, 2025
2b8064f
Add lint prettier
jckasper Aug 6, 2025
5a856b6
Update lint.yml
jckasper Aug 6, 2025
6aee1fc
Merge branch 'release-1.34' into dependabot/github_actions/release-1.…
jckasper Aug 6, 2025
06d3e10
More tweaks to lint workflow
jckasper Aug 6, 2025
548caa7
Run actionLint
jckasper Aug 6, 2025
92c72cd
Bump actions/download-artifact from 4 to 5 (#140)
dependabot[bot] Aug 6, 2025
007cc5b
Merge pull request #138 from IBM-Cloud/dependabot/github_actions/rele…
dependabot[bot] Aug 6, 2025
e9da0e6
Remove Super-linter, too slow
jckasper Aug 6, 2025
0d0d7ed
Rename github action workflows
jckasper Aug 6, 2025
a8eaffc
Rename shellcheck job
jckasper Aug 6, 2025
eef863b
New markdownlint workflow
jckasper Aug 6, 2025
49844c7
Update README.md
jckasper Aug 6, 2025
e6cdca6
Refactor GO github action workflow to improve performance (#141)
jckasper Aug 6, 2025
18b4889
Limit the auto-merge workflow to only dependabot PRs (#142)
jckasper Aug 6, 2025
52223e6
Update .github/workflows/kube-update-pr.yml
jckasper Aug 10, 2025
55b8f51
Bump branch release-1.34 from v1.34.0-beta.0 to v1.34.0-rc.1 (#146)
github-actions[bot] Aug 11, 2025
50d773e
Fix auto-merge github action
jckasper Aug 11, 2025
9f84ce1
Bump the kubernetes-1-34 group with 6 updates (#143)
dependabot[bot] Aug 11, 2025
7c48b2e
New copyright check, update workflows
jckasper Aug 12, 2025
b212660
Update copyright-check.yml
jckasper Aug 12, 2025
38de89a
Fix copyright-check.yml to work with push
jckasper Aug 12, 2025
6a6970b
Update golangci-lint to v2 (#145)
jckasper Aug 12, 2025
11b8e60
Bump actions/checkout from 4 to 5 (#150)
dependabot[bot] Aug 12, 2025
bdb27da
Tweak workflows
jckasper Aug 13, 2025
df1e219
Fix workflow error
jckasper Aug 13, 2025
7538b5c
Update to new URL
jckasper Aug 13, 2025
d8281ed
New golangci-update workflow
jckasper Aug 13, 2025
37745bd
Updating to test new workflow
jckasper Aug 13, 2025
ea74aec
Update dispatch-pr-create.yml
jckasper Aug 13, 2025
512ddd7
Update dispatch-pr-create.yml
jckasper Aug 13, 2025
5b58392
Update golangci branch names
jckasper Aug 13, 2025
6687d41
Update .github/workflows/go.yml
jckasper Aug 13, 2025
581c23a
Bump golangci-lint from v2.3.0 to v2.3.1 in branch release-1.34 (#157)
github-actions[bot] Aug 13, 2025
9399e57
Remove golangci-lint v1 from release 1.34 (#159)
jckasper Aug 13, 2025
44d9641
Fix dependabot / golangci-lint issue
jckasper Aug 14, 2025
7a4f2ff
Update .github/workflows/actionLint.yml
jckasper Aug 14, 2025
ebff28f
Change golangci-update PR label
jckasper Aug 15, 2025
db6e3c3
Bump golangci-lint from v2.3.1 to v2.4.0 in branch release-1.34 (#166)
github-actions[bot] Aug 18, 2025
210b917
Bump branch release-1.34 from v1.34.0-rc.1 to v1.34.0-rc.2 (#174)
github-actions[bot] Aug 21, 2025
49c2d35
Bump the kubernetes-1-34 group with 6 updates (#173)
dependabot[bot] Aug 21, 2025
6340563
Bump github.com/IBM/platform-services-go-sdk in the ibm-sdk-1-34 grou…
dependabot[bot] Aug 22, 2025
d23caea
Add code of conduct and security doc (#189)
Karthik-K-N Aug 25, 2025
7f34942
Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 (#191)
dependabot[bot] Aug 27, 2025
0c7b4d4
Bump github.com/IBM/platform-services-go-sdk in the ibm-sdk-1-34 grou…
dependabot[bot] Aug 27, 2025
a61390e
Adjust cron times
jckasper Aug 28, 2025
c8da1f9
Bump github.com/stretchr/testify from 1.11.0 to 1.11.1 (#204)
dependabot[bot] Aug 28, 2025
63c4ba0
Bump branch release-1.34 from v1.34.0-rc.2 to v1.34.0 (#210)
github-actions[bot] Aug 28, 2025
547aa32
Bump the kubernetes-1-34 group with 6 updates (#206)
dependabot[bot] Aug 28, 2025
b3cd51f
Update contributor document (#192)
Karthik-K-N Aug 28, 2025
8f8d201
Create gatekeeper workflow
jckasper Aug 28, 2025
77a1c1e
Update workflows in gatekeeper
jckasper Aug 28, 2025
c1e9344
Gatekeeper should ignore itself
jckasper Aug 28, 2025
5dece61
Adjust gatekeeper filter
jckasper Aug 28, 2025
7dcbba7
Report gatekeeper status to PR
jckasper Aug 29, 2025
62161e7
Debug gatekeeper
jckasper Aug 29, 2025
e4b521d
Debug gatekeeper
jckasper Aug 29, 2025
57a1678
Debug gatekeeper
jckasper Aug 29, 2025
2b78a42
Remove UnknownWorkflow from gatekeeper
jckasper Aug 29, 2025
85fd6a3
Add workflow names to gatekeeper
jckasper Aug 29, 2025
921bf6a
Add table to gatekeeper
jckasper Aug 29, 2025
b8b0707
Fix gatekeeper
jckasper Aug 29, 2025
d34b77e
Continue debugging gatekeeper
jckasper Aug 29, 2025
61c6cc2
Tweak gatekeeper
jckasper Aug 29, 2025
6d0dfdc
Tweak gatekeeper
jckasper Aug 29, 2025
690da9f
Tweak gatekeeper
jckasper Aug 29, 2025
7ebe335
Simplify gatekeeper
jckasper Aug 29, 2025
bb87740
Make job names unique
jckasper Aug 29, 2025
f4d3b09
Add 10s wait to gatekeeper
jckasper Aug 29, 2025
a654433
Update CONTRIBUTING.md
jckasper Aug 29, 2025
9366ea3
New group for github dependabot PRs
jckasper Sep 3, 2025
691d8a8
Revert group for github dependabot PRs
jckasper Sep 4, 2025
6a07855
Bump actions/setup-go from 5 to 6 (#273)
dependabot[bot] Sep 4, 2025
fdd35ee
Bump github.com/IBM/vpc-go-sdk in the ibm-sdk-1-34 group (#286)
dependabot[bot] Sep 4, 2025
1c85dc5
Bump github.com/spf13/pflag from 1.0.7 to 1.0.9 (#236)
dependabot[bot] Sep 5, 2025
970db58
Update auto-merge workflow
jckasper Sep 5, 2025
1ac7292
Double gatekeeper wait time
jckasper Sep 5, 2025
ef086b8
Bump actions/github-script from 7 to 8 (#291)
dependabot[bot] Sep 5, 2025
fb1f8df
Bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (#222)
dependabot[bot] Sep 5, 2025
477ddc3
Run gatekeeper on all PR operations
jckasper Sep 10, 2025
6be5982
Revert gatekeeper change. Didn't help
jckasper Sep 10, 2025
e8f5484
Add assigned to pull_request types
jckasper Sep 11, 2025
de53f91
Bump branch release-1.34 from v1.34.0 to v1.34.1 (#305)
github-actions[bot] Sep 11, 2025
ce7ea95
Bump the kubernetes-1-34 group with 6 updates (#301)
dependabot[bot] Sep 11, 2025
8cdf3d7
Bump github.com/IBM/platform-services-go-sdk in the ibm-sdk-1-34 grou…
dependabot[bot] Sep 12, 2025
c4a673f
Bump github.com/IBM/vpc-go-sdk in the ibm-sdk-1-34 group (#314)
dependabot[bot] Sep 18, 2025
aedce74
Bump golangci-lint from v2.4.0 to v2.5.0 in branch release-1.34 (#322)
github-actions[bot] Sep 23, 2025
f0150fa
Bump github.com/IBM/vpc-go-sdk in the ibm-sdk-1-34 group (#326)
dependabot[bot] Sep 25, 2025
22f1822
Bump github.com/go-openapi/strfmt from 0.23.0 to 0.24.0 (#335)
dependabot[bot] Sep 27, 2025
0ef09b2
Bump github.com/IBM/platform-services-go-sdk in the ibm-sdk-1-34 grou…
dependabot[bot] Oct 1, 2025
077cf90
Bump peter-evans/repository-dispatch from 3 to 4 (#347)
dependabot[bot] Oct 2, 2025
66bb268
Bump peter-evans/create-or-update-comment from 4 to 5 (#348)
dependabot[bot] Oct 3, 2025
d6cde90
Bump github.com/IBM/vpc-go-sdk in the ibm-sdk-1-34 group (#350)
dependabot[bot] Oct 7, 2025
6bb46ac
Bump github.com/IBM/vpc-go-sdk in the ibm-sdk-1-34 group (#359)
dependabot[bot] Oct 9, 2025
64b1744
Bump github.com/IBM/platform-services-go-sdk in the ibm-sdk-1-34 grou…
dependabot[bot] Oct 12, 2025
e7866a2
Initial changes for release-1.35
jckasper Oct 17, 2025
8e4d28b
Bump branch release-1.35 from v1.34.1 to v1.35.0-alpha.1 (#374)
github-actions[bot] Oct 17, 2025
fb5782a
Bump branch release-1.35 from v1.35.0-alpha.1 to v1.35.0-alpha.2 (#375)
github-actions[bot] Oct 23, 2025
d1b40fe
Bump the kubernetes-1-35 group with 6 updates (#376)
dependabot[bot] Oct 23, 2025
104ecd7
Fix kube-update GO version detection (#377)
jckasper Oct 24, 2025
1ff002d
Bump actions/upload-artifact from 4 to 5 (#379)
dependabot[bot] Oct 25, 2025
2accc09
Bump actions/download-artifact from 5 to 6 (#378)
dependabot[bot] Oct 25, 2025
8cbf568
Bump github.com/IBM/platform-services-go-sdk in the ibm-sdk-1-35 grou…
dependabot[bot] Oct 29, 2025
32e624b
Bump golangci-lint from v2.5.0 to v2.6.0 in branch release-1.35 (#390)
github-actions[bot] Oct 30, 2025
9ef7489
Bump golangci-lint from v2.6.0 to v2.6.1 in branch release-1.35 (#392)
github-actions[bot] Nov 5, 2025
4dc0b8a
Fix golangci-lint failure (#393)
jckasper Nov 5, 2025
7462eb3
merge upstream/release-1.35 into main
Nov 6, 2025
e414ea0
UPSTREAM: <carry>: Add OWNERS
Karthik-K-N Oct 4, 2022
d5f1e93
UPSTREAM: <carry>: Add vendor
Karthik-K-N Mar 14, 2022
985b898
UPSTREAM: <carry>: Added Support for PowerVS metadata service
Karthik-K-N Mar 14, 2022
900b493
UPSTREAM: <carry>: Add a Dockerfile that compatible with OpenShift
Karthik-K-N Oct 4, 2022
b8962b7
UPSTREAM: <carry>: snyk code scan exclude vendor directory
Karthik-K-N Nov 6, 2023
3afc15f
UPSTREAM: <carry>: Override service endpoints
Karthik-K-N Apr 18, 2024
39d69ba
UPSTREAM: <carry>: Updating ose-powervs-cloud-controller-manager-cont…
May 25, 2024
1d3a8d1
UPSTREAM: <carry>: Add multiarch reviewers and approvers to OWNER file
Karthik-K-N Jul 2, 2024
37a7a07
UPSTREAM: <carry>: Updating ose-powervs-cloud-controller-manager-cont…
Sep 5, 2024
b409f06
UPSTREAM: <carry>: Reuse authenticator in resource controller options
Karthik-K-N Oct 24, 2024
ba91117
UPSTREAM: <carry>: Updating ose-powervs-cloud-controller-manager-cont…
Dec 5, 2024
2f9f865
UPSTREAM: <carry>: Update packages in go.mod
Prajyot-Parab Apr 25, 2025
acaaa0c
UPSTREAM: <carry>: Updating ose-powervs-cloud-controller-manager-cont…
Jun 20, 2025
1dd2a82
UPSTREAM: <carry>: Updating ose-powervs-cloud-controller-manager-cont…
Sep 30, 2025
7bf63bb
UPSTREAM: <drop>: Updating and vendoring go modules after an upstream…
kishen-v Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
430 changes: 430 additions & 0 deletions .github/dependabot.yml

Large diffs are not rendered by default.

105 changes: 105 additions & 0 deletions .github/scripts/kube-update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/bin/bash
# ******************************************************************************
# IBM Cloud Kubernetes Service, 5737-D43
# (C) Copyright IBM Corp. 2025 All Rights Reserved.
#
# SPDX-License-Identifier: Apache2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ******************************************************************************
set -e
set -x

K8S_CURRENT_VERSION=$(grep "^TAG " Makefile | awk '{ print $3 }')
if [[ -z "${K8S_CURRENT_VERSION}" ]]; then
echo "FAIL: Unable to determine current Kubernetes version in Makefile."
exit 1
fi

# Trim alpha/beta tag off of current release
K8S_SHORT_VERSION=${K8S_CURRENT_VERSION%-*}
MAJOR_MINOR=${K8S_SHORT_VERSION%.*}

# Verify TAG from Makefile matches git branch (first run on new release)
GIT_BRANCH=$(git branch --show-current)
BRANCH_MAJOR_MINOR="v${GIT_BRANCH#"release-"}"
if [[ "${MAJOR_MINOR}" != "${BRANCH_MAJOR_MINOR}" ]]; then
MAJOR_MINOR=${BRANCH_MAJOR_MINOR}
fi

K8S_RELEASE_FILE="/tmp/kube-releases.txt"
if [[ ! -f "${K8S_RELEASE_FILE}" ]]; then
curl -L --fail --retry 3 --retry-delay 5 -o $K8S_RELEASE_FILE https://api.github.com/repos/kubernetes/kubernetes/releases
fi

K8S_TAGS_FILE="/tmp/kube-tags.txt"
if [[ ! -f "${K8S_TAGS_FILE}" ]]; then
curl -L --fail --retry 3 --retry-delay 5 -o $K8S_TAGS_FILE https://api.github.com/repos/kubernetes/kubernetes/tags
fi

K8S_UPDATE_VERSION=$(cat $K8S_RELEASE_FILE | jq -r ".[].name" | grep "$MAJOR_MINOR" | head -1 | sed 's/^Kubernetes //g')
MOD_VERSION=$(go mod download -json "k8s.io/api@kubernetes-${K8S_UPDATE_VERSION#v}" | jq -r .Version)
if [[ -z "${K8S_UPDATE_VERSION}" ]]; then
echo "FAIL: Failed to retrieve the kubernetes release, attempt to retrieve the git tag"
K8S_UPDATE_VERSION=$(cat $K8S_TAGS_FILE | jq -r ".[].name" | grep "$MAJOR_MINOR" | head -1)
MOD_VERSION=$(go mod download -json "k8s.io/api@kubernetes-${K8S_UPDATE_VERSION#v}" | jq -r .Version)
fi
if [[ -z "${K8S_UPDATE_VERSION}" ]]; then
echo "FAIL: Failed to retrieve latest kubernetes version."
exit 1
fi
if [[ "${K8S_UPDATE_VERSION}" == "${K8S_CURRENT_VERSION}" ]]; then
echo "INFO: No new version available, exiting gracefully"
exit 0
fi
# Ensure the go modules have also been updated. i.e. k8s.io/api v0.20.3
if [[ "${MOD_VERSION}" != "v0.${K8S_UPDATE_VERSION#*.}" ]]; then
echo "INFO: New go modules are not available, exiting gracefully"
exit 0
fi
# Ensure that an update for this Kubernetes release was not already started
if git ls-remote --exit-code --heads "origin" "$K8S_UPDATE_VERSION" >/dev/null; then
echo "INFO: Branch $K8S_UPDATE_VERSION has already been created, exiting gracefully"
exit 0
fi

echo "INFO: Starting Kubernetes update from version ${K8S_CURRENT_VERSION} to ${K8S_UPDATE_VERSION} ..."

# Update files that contain the Kubernetes version
FILES_WITH_K8S_VERSION="ibm/ibm_version.go main.go Makefile README.md"
for FILE_TO_UPDATE in $FILES_WITH_K8S_VERSION; do
sed -i -e "s/${K8S_CURRENT_VERSION}/${K8S_UPDATE_VERSION}/g" "${FILE_TO_UPDATE}"
echo "INFO: Updated Kubernetes version in ${FILE_TO_UPDATE}"
done

# Determine the current and update golang version.
GO_CURRENT_VERSION=$(grep '^go ' go.mod | awk '{ print $2 }')
K8S_DIRECTORY="/tmp/kubernetes"
git clone --filter=blob:none --depth=1 --sparse -b "${K8S_UPDATE_VERSION}" https://github.com/kubernetes/kubernetes.git ${K8S_DIRECTORY}
git -C ${K8S_DIRECTORY} sparse-checkout add build
GO_UPDATE_VERSION=$(grep -A 1 "name: \"golang: upstream version" "${K8S_DIRECTORY}/build/dependencies.yaml" | grep "version:" | awk '{ print $2 }')
echo "INFO: Updated Go version: ${GO_UPDATE_VERSION}"
rm -rf "${K8S_DIRECTORY}"

if [[ "${GO_CURRENT_VERSION}" != "${GO_UPDATE_VERSION}" ]]; then
# Make sure new GO version is newer than the current GO version
EARLIER_GO_VERSION=$(printf "%s\n" "${GO_CURRENT_VERSION}" "${GO_UPDATE_VERSION}" | sort -V | head -1)
if [[ "${EARLIER_GO_VERSION}" == "${GO_CURRENT_VERSION}" ]]; then
sed -i -e "s/go ${GO_CURRENT_VERSION}/go ${GO_UPDATE_VERSION}/g" go.mod
go mod tidy
echo "INFO: Updated Go version in go.mod from ${GO_CURRENT_VERSION} to ${GO_UPDATE_VERSION}"
fi
fi

echo "SUCCESS: Completed Kubernetes update from version ${K8S_CURRENT_VERSION} to ${K8S_UPDATE_VERSION}."
exit 0
29 changes: 29 additions & 0 deletions .github/workflows/actionLint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This workflow will run actionLint against github workflows

name: GitHub Actions Lint

on:
push:
paths:
- '**.yml'
pull_request:
types: [opened, synchronize, reopened]
paths:
- '**.yml'
workflow_dispatch: # Allow manual triggering

jobs:
action-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Download actionlint
id: get_actionlint
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
shell: bash

- name: Check workflow files
run: ${{ steps.get_actionlint.outputs.executable }} -color
shell: bash
27 changes: 27 additions & 0 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This workflow will set the "auto-merge" flag on dependabot pull requests

name: Auto-merge Dependabot PR

on:
pull_request:
types: [opened, synchronize, reopened]
paths:
- "go.mod"
- "**.yml"

jobs:
automerge:
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest

permissions:
pull-requests: write
contents: write

steps:
- name: Enable auto-merge
uses: peter-evans/enable-pull-request-automerge@v3
with:
pull-request-number: ${{ github.event.pull_request.number }}
merge-method: squash
token: ${{ secrets.GITHUB_TOKEN }}
66 changes: 66 additions & 0 deletions .github/workflows/copyright-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# This workflow will check the copyright of GO files

name: Copyright Check

on:
push:
paths:
- "**.go"
- "**.ini"
- ".github/workflows/copyright-check.yml"
pull_request:
types: [opened, synchronize, reopened]
paths:
- "**.go"
- "**.ini"
- ".github/workflows/copyright-check.yml"
workflow_dispatch: # Allow manual triggering

jobs:
copyright-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
fetch-depth: 0 # Ensure we can diff against base

- name: Get list of changed Go and INI files
id: changed
run: |
# If event is pull_request, diff against base branch
if [ "${{ github.event_name }}" = "pull_request" ]; then
files=$(git diff --name-only origin/${{ github.base_ref }} HEAD | grep -E '\.(go|ini)$' || true)
else
# For push events, check files changed in the latest commit range
files=$(git diff --name-only HEAD^ HEAD | grep -E '\.(go|ini)$' || true)
fi

# Join files into a single space-separated string
files="${files//$'\n'/ }"
echo ".go/.ini files found: $files"

echo "files=$files" >> "$GITHUB_OUTPUT"

- name: Verify copyright notice
run: |
CURRENT_YEAR=$(date +%Y)
COPYRIGHT_KEY="Copyright IBM Corp."
missing=false

for file in ${{ steps.changed.outputs.files }}; do
echo "Processing: $file"
if [ ! -f "$file" ]; then
continue
fi

if ! head -10 "${file}" | grep "${COPYRIGHT_KEY}" | grep -q "${CURRENT_YEAR}"; then
echo " ❌ Missing or incorrect copyright"
missing=true
fi
done

if [ "$missing" = true ]; then
echo "One or more files are missing the correct copyright notice."
exit 1
fi
81 changes: 81 additions & 0 deletions .github/workflows/dispatch-pr-create.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# This workflow will get invoked via "repository_dispatch" and it is based on the Go Lint/Test/Build (go.yml) workflow

name: Dispatch PR Create

on:
repository_dispatch:
types: [pull-request-created]

jobs:
dispatch-pr-create:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
ref: ${{ github.event.client_payload.pr_branch }}

- name: Extract Go and golangci-lint versions
id: get-ver
run: |
echo "go_version=$(grep '^go ' go.mod | awk '{ print $2 }')" >> "$GITHUB_OUTPUT"
echo "golangci_version=v$(grep '^GOLANGCI_LINT_VERSION ' Makefile | awk '{ print $3 }')" >> "$GITHUB_OUTPUT"

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: ${{ steps.get-ver.outputs.go_version }}

- name: Install golangci-lint v1
if: startsWith(steps.get-ver.outputs.golangci_version, 'v1')
uses: golangci/golangci-lint-action@v6 # v8 available, but only supports >= v2.1.0
with:
args: --disable-all --timeout 5m # disable linting, initialize cache
version: ${{ steps.get-ver.outputs.golangci_version }}

- name: Install golangci-lint v2
if: startsWith(steps.get-ver.outputs.golangci_version, 'v2')
uses: golangci/golangci-lint-action@v8
with:
version: ${{ steps.get-ver.outputs.golangci_version }}

- name: Run go fmt (via golangci-lint)
run: make fmt

- name: Run lint (via golangci-lint)
run: make lint

- name: Rnn go vet
run: make vet

- name: Run go test
run: make test

- name: Run go build
run: make ccm

- name: Install GitHub CLI
run: sudo apt-get install gh

- name: Get PR number for branch
id: get-pr
run: |
PR_NUMBER=$(gh pr list --head "${{ github.event.client_payload.pr_branch }}" --json number --jq '.[0].number')
echo "pr_number=${PR_NUMBER}" >> "$GITHUB_OUTPUT"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Comment on PR
uses: peter-evans/create-or-update-comment@v5
with:
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ steps.get-pr.outputs.pr_number }}
body: |
✅ Tests completed successfully

- name: Enable auto-merge
uses: peter-evans/enable-pull-request-automerge@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
pull-request-number: ${{ steps.get-pr.outputs.pr_number }}
merge-method: squash
63 changes: 63 additions & 0 deletions .github/workflows/gatekeeper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Gatekeeper

on:
pull_request:
types: [assigned, opened, reopened, synchronize]
workflow_dispatch: # Allow manual triggering

jobs:
gatekeeper:
runs-on: ubuntu-latest
permissions:
checks: read

steps:
- name: Wait for all other workflows
uses: actions/github-script@v8
with:
script: |
const owner = context.repo.owner;
const repo = context.repo.repo;

// ✅ Works for PRs from forks and same repo
const sha = context.payload.pull_request
? context.payload.pull_request.head.sha
: context.sha;

const maxAttempts = 40;
const delayMs = 30000; // 30 seconds

let allDone = false;
let attempts = 0;

await new Promise(r => setTimeout(r, 10000)); // Wait 10 sec before the first check
while (!allDone && attempts < maxAttempts) {
const { data: { check_runs } } = await github.rest.checks.listForRef({ owner, repo, ref: sha });

allDone = true;
const inProgress = [];

for (const c of check_runs) {
if (c.name.includes("gatekeeper")) continue; // skip self

if (c.status !== 'completed') {
allDone = false;
inProgress.push(c.name);
} else if (['failure','cancelled','timed_out','action_required'].includes(c.conclusion)) {
core.setFailed(`❌ ${c.name} failed. PR cannot be merged.`);
return;
}
}

if (!allDone) {
console.log(`⏳ Waiting for ${inProgress.length} checks to finish: ${inProgress.join(', ')}. Retrying in 30s...`);
await new Promise(r => setTimeout(r, delayMs));
attempts++;
}
}

if (!allDone) {
core.setFailed("⏰ Timeout waiting for workflows to complete.");
} else {
console.log("✅ All workflows completed successfully.");
}
Loading