Skip to content

Commit 00a4b50

Browse files
Merge branch 'master' into rollout-plugin
Signed-off-by: Hariharasuthan Raajeshwar <hariharasuthan.raajeshwar@amadeus.com>
2 parents fe713d3 + f3c3930 commit 00a4b50

83 files changed

Lines changed: 50323 additions & 792 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/pull_request_template.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ Checklist:
33
* [ ] Either (a) I've created an [enhancement proposal](https://github.com/argoproj/argo-rollouts/issues/new/choose) and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
44
* [ ] The title of the PR is (a) [conventional](https://www.conventionalcommits.org/en/v1.0.0/) with a list of types and scopes found [here](https://github.com/argoproj/argo-rollouts/blob/master/.github/workflows/pr-title-check.yml), (b) states what changed, and (c) suffixes the related issues number. E.g. `"fix(controller): Updates such and such. Fixes #1234"`.
55
* [ ] I've signed my commits with [DCO](https://github.com/argoproj/argoproj/blob/main/community/CONTRIBUTING.md#legal)
6-
* [ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
76
* [ ] My builds are green. Try syncing with master if they are not.
8-
* [ ] My organization is added to [USERS.md](https://github.com/argoproj/argo-rollouts/blob/master/USERS.md).
7+
* [ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
8+
* [ ] I have run all tests locally (including the flaky ones) and they pass on my workstation
9+
* [ ] I have used LLM/AI/Agent tools for this PR but I am responsible for all code of this PR
10+
* [ ] I understand what the code does and WHY/HOW it works in several scenarios
11+
* [ ] I know if my code is just adding new functionality or changing old functionality for existing users
12+
* [ ] My organization is added to [USERS.md](https://github.com/argoproj/argo-rollouts/blob/master/USERS.md).

.github/workflows/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
| pr-title-check.yaml | Lint PR for semantic information |
1111
| init-release.yaml | Build manifests and version then create a PR for release branch |
1212
| release.yaml | Build images, cli-binaries, provenances, and post actions |
13+
| stale-issues-pr.yml | Close stale Issues and PRs |
14+
| waiting-issues.yml | Close stale issues and PRs waiting for response |
1315

1416

1517
# Reusable workflows

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
branches: [master]
88
paths-ignore:
99
- '**/*.md'
10+
- 'docs/**'
1011

1112
concurrency:
1213
group: ${{ github.workflow }}-${{ github.ref }}

.github/workflows/docker-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
with:
7272
quay_image_name: ${{ needs.set-vars.outputs.controller-meta-tags }}
7373
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
74-
go-version: '1.24'
74+
go-version: '1.26'
7575
platforms: ${{ needs.set-vars.outputs.platforms }}
7676
push: ${{ github.event_name != 'pull_request' }}
7777
secrets:
@@ -88,7 +88,7 @@ jobs:
8888
with:
8989
quay_image_name: ${{ needs.set-vars.outputs.plugin-meta-tags }}
9090
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
91-
go-version: '1.24'
91+
go-version: '1.26'
9292
platforms: ${{ needs.set-vars.outputs.platforms }}
9393
push: ${{ github.event_name != 'pull_request' }}
9494
target: kubectl-argo-rollouts

.github/workflows/go.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
- 'master'
1010
env:
1111
# Golang version to use across CI steps
12-
GOLANG_VERSION: '1.24'
12+
GOLANG_VERSION: '1.26'
1313

1414
concurrency:
1515
group: ${{ github.workflow }}-${{ github.ref }}
@@ -35,7 +35,7 @@ jobs:
3535
- name: Run golangci-lint
3636
uses: golangci/golangci-lint-action@v8
3737
with:
38-
version: v2.1.6
38+
version: v2.11.1
3939
args: --timeout 6m
4040
build:
4141
name: Build
@@ -50,12 +50,15 @@ jobs:
5050
- name: Check out code into the Go module directory
5151
uses: actions/checkout@v6
5252

53-
- name: Restore go build cache
54-
uses: actions/cache@v4
53+
- name: Restore go build and module cache
54+
uses: actions/cache@v5
5555
with:
56-
path: ~/.cache/go-build
57-
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
58-
56+
path: |
57+
~/.cache/go-build
58+
~/go/pkg/mod
59+
key: ${{ runner.os }}-go-build-v1-${{ hashFiles('**/go.sum') }}
60+
restore-keys: |
61+
${{ runner.os }}-go-build-v1-
5962
- name: Download all Go modules
6063
run: |
6164
go mod download
@@ -81,15 +84,15 @@ jobs:
8184
run: |
8285
mkdir -p ~/go/src/github.com/argoproj
8386
ln -s $(pwd) ~/go/src/github.com/argoproj/argo-rollouts
84-
- uses: actions/cache@v4
87+
- uses: actions/cache@v5
8588
with:
8689
path: /home/runner/.cache/go-build
8790
key: GOCACHE-${{ hashFiles('**/go.mod') }}
88-
- uses: actions/cache@v4
91+
- uses: actions/cache@v5
8992
with:
9093
path: /home/runner/go/pkg/mod
9194
key: GOMODCACHE-${{ hashFiles('**/go.mod') }}
92-
- uses: actions/cache@v4
95+
- uses: actions/cache@v5
9396
with:
9497
path: /home/runner/go/bin
9598
key: go-bin-v1-${{ hashFiles('**/go.mod') }}

.github/workflows/pr-title-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
name: Validate PR title
1919
runs-on: ubuntu-latest
2020
steps:
21-
- uses: amannn/action-semantic-pull-request@v6
21+
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
2222
with:
2323
# Configure which types are allowed (newline delimited).
2424
# Default: https://github.com/commitizen/conventional-commit-types

.github/workflows/release.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
permissions: {}
88

99
env:
10-
GOLANG_VERSION: '1.24' # Note: go-version must also be set in job controller-image.with.go-version & plugin-image.with.go-version.
10+
GOLANG_VERSION: '1.26' # Note: go-version must also be set in job controller-image.with.go-version & plugin-image.with.go-version.
1111

1212
jobs:
1313
# Central registry namespace configuration - Allows override of the registry namespace via GitHub vars. Defaults to 'argoproj'
@@ -35,7 +35,7 @@ jobs:
3535
with:
3636
quay_image_name: quay.io/${{ needs.set-registry-namespace.outputs.registry_namespace }}/argo-rollouts:${{ github.ref_name }}
3737
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
38-
go-version: '1.24'
38+
go-version: '1.26'
3939
platforms: linux/amd64,linux/arm64
4040
push: true
4141
secrets:
@@ -52,7 +52,7 @@ jobs:
5252
with:
5353
quay_image_name: quay.io/${{ needs.set-registry-namespace.outputs.registry_namespace }}/kubectl-argo-rollouts:${{ github.ref_name }}
5454
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
55-
go-version: '1.24'
55+
go-version: '1.26'
5656
platforms: linux/amd64,linux/arm64
5757
push: true
5858
target: kubectl-argo-rollouts

.github/workflows/testing.yaml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313

1414
env:
1515
# Golang version to use across CI steps
16-
GOLANG_VERSION: '1.24'
16+
GOLANG_VERSION: '1.26'
1717

1818
concurrency:
1919
group: ${{ github.workflow }}-${{ github.ref }}
@@ -46,7 +46,7 @@ jobs:
4646
uses: actions/checkout@v6
4747

4848
- name: Restore go build cache
49-
uses: actions/cache@v4
49+
uses: actions/cache@v5
5050
with:
5151
path: ~/.cache/go-build
5252
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -75,33 +75,37 @@ jobs:
7575
fail-fast: false
7676
matrix:
7777
kubernetes:
78-
- version: '1.31'
79-
latest: false
8078
- version: '1.32'
79+
k3s_version: '1.32.12+k3s1'
8180
latest: false
8281
- version: '1.33'
82+
k3s_version: '1.33.8+k3s1'
8383
latest: false
8484
- version: '1.34'
85+
k3s_version: '1.34.4+k3s1'
86+
latest: false
87+
- version: '1.35'
88+
k3s_version: '1.35.1+k3s1'
8589
latest: true
86-
name: Run end-to-end tests
90+
name: Run end-to-end tests (${{ matrix.kubernetes.version }}, ${{ matrix.kubernetes.latest }})
8791
runs-on: ubuntu-latest
8892
steps:
8993
- name: Set up Go
9094
uses: actions/setup-go@v6.2.0
9195
with:
92-
go-version: '1.24'
96+
go-version: '1.26'
9397
- uses: actions/checkout@v6
9498
- name: Setup k3s
9599
env:
96-
INSTALL_K3S_CHANNEL: v${{ matrix.kubernetes.version }}
100+
INSTALL_K3S_VERSION: v${{ matrix.kubernetes.k3s_version }}
97101
run: |
98102
curl -sfL https://get.k3s.io | sh -
99103
sudo mkdir ~/.kube
100104
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
101105
sudo chmod 755 ~/.kube/config
102106
kubectl version
103107
kubectl create ns argo-rollouts
104-
- uses: actions/cache@v4
108+
- uses: actions/cache@v5
105109
with:
106110
path: ~/go/pkg/mod
107111
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
@@ -111,8 +115,9 @@ jobs:
111115
run: go mod download
112116
- name: Install CRDs
113117
run: |
114-
kubectl apply -k manifests/crds
115-
kubectl apply -f test/e2e/crds
118+
# --server-side bypasses the 262KB annotation limit for large CRDs with field descriptions
119+
kubectl apply --server-side --force-conflicts -k manifests/crds
120+
kubectl apply --server-side --force-conflicts -f test/e2e/crds
116121
- name: Start controller
117122
run: make start-e2e 2>&1 | sed -r "s/[[:cntrl:]]\[[0-9]{1,3}m//g" > /tmp/e2e-controller.log &
118123
- name: Run e2e tests

Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Initial stage which pulls prepares build dependencies and CLI tooling we need for our final image
44
# Also used as the image in CI jobs so needs all dependencies
55
####################################################################################################
6-
FROM --platform=$BUILDPLATFORM golang:1.24 AS builder
6+
FROM --platform=$BUILDPLATFORM golang:1.26 AS builder
77

88
RUN apt-get update && apt-get install -y \
99
wget \
@@ -12,7 +12,7 @@ RUN apt-get update && apt-get install -y \
1212
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
1313

1414
# Install golangci-lint
15-
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.1.6 && \
15+
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.1 && \
1616
golangci-lint linters
1717

1818
COPY .golangci.yml ${GOPATH}/src/dummy/.golangci.yml
@@ -40,7 +40,7 @@ RUN NODE_ENV='production' yarn build
4040
####################################################################################################
4141
# Rollout Controller Build stage which performs the actual build of argo-rollouts binaries
4242
####################################################################################################
43-
FROM --platform=$BUILDPLATFORM golang:1.24 AS argo-rollouts-build
43+
FROM --platform=$BUILDPLATFORM golang:1.26 AS argo-rollouts-build
4444

4545
WORKDIR /go/src/github.com/argoproj/argo-rollouts
4646

@@ -69,7 +69,7 @@ RUN GOOS=$TARGETOS GOARCH=$TARGETARCH make ${MAKE_TARGET}
6969
####################################################################################################
7070
# Kubectl plugin image
7171
####################################################################################################
72-
FROM gcr.io/distroless/static-debian11 AS kubectl-argo-rollouts
72+
FROM gcr.io/distroless/static-debian12 AS kubectl-argo-rollouts
7373

7474
COPY --from=argo-rollouts-build /go/src/github.com/argoproj/argo-rollouts/dist/kubectl-argo-rollouts /bin/kubectl-argo-rollouts
7575

@@ -84,7 +84,7 @@ CMD ["dashboard"]
8484
####################################################################################################
8585
# Final image
8686
####################################################################################################
87-
FROM gcr.io/distroless/static-debian11
87+
FROM gcr.io/distroless/static-debian12
8888

8989
COPY --from=argo-rollouts-build /go/src/github.com/argoproj/argo-rollouts/dist/rollouts-controller /bin/
9090
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

Dockerfile.dev

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
####################################################################################################
22
# argo-rollouts-dev
33
####################################################################################################
4-
FROM golang:1.24 AS builder
4+
FROM golang:1.26 AS builder
55

66
RUN apt-get update && apt-get install -y \
77
ca-certificates && \
88
apt-get clean && \
99
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
1010

11-
FROM gcr.io/distroless/static-debian11
11+
FROM gcr.io/distroless/static-debian12
1212

1313
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
1414
COPY rollouts-controller-linux-amd64 /bin/rollouts-controller

0 commit comments

Comments
 (0)