diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 513ad62979..51348983e0 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -ARG VARIANT="1.21" +ARG VARIANT="1.22" FROM mcr.microsoft.com/vscode/devcontainers/go:${VARIANT} RUN apt-get update && \ export DEBIAN_FRONTEND=noninteractive && \ diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index eee94e61c7..09f954b07e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "build": { "dockerfile": "Dockerfile", "args": { - "VARIANT": "1.21-bullseye", + "VARIANT": "1.22-bullseye", "NODE_VERSION": "none" } }, diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index 71ecbf5ff6..9a856812a1 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -2,12 +2,12 @@ name: "CodeQL" on: push: branches: - - master - - release/* + - master + - release/* pull_request: branches: - - master - - release/* + - master + - release/* types: - opened - reopened @@ -32,20 +32,20 @@ jobs: contents: read security-events: write steps: - - name: Setup go - uses: actions/setup-go@v5 - with: - go-version: '1.21' - check-latest: true - - name: Checkout repository - uses: actions/checkout@v4 - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" + - name: Setup go + uses: actions/setup-go@v5 + with: + go-version: "1.22" + check-latest: true + - name: Checkout repository + uses: actions/checkout@v4 + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/crdgen.yaml b/.github/workflows/crdgen.yaml index 781647c9c3..403a9afd13 100644 --- a/.github/workflows/crdgen.yaml +++ b/.github/workflows/crdgen.yaml @@ -3,10 +3,10 @@ on: workflow_dispatch: pull_request: types: - - opened - - reopened - - synchronize - - ready_for_review + - opened + - reopened + - synchronize + - ready_for_review merge_group: types: - checks_requested @@ -14,22 +14,22 @@ jobs: crdgen: strategy: matrix: - go-version: ['1.21'] + go-version: ["1.21", "1.22"] os: [ubuntu-latest] name: CRDs are Generated runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - - name: Regenerate NodeNetworkConfig CRD - run: make -C crd/nodenetworkconfig - - name: Regenerate MultitenantNetworkContainer CRD - run: make -C crd/multitenantnetworkcontainer - - name: Regenerate Multitenancy CRDs - run: make -C crd/multitenancy - - name: Fail if the tree is dirty - run: test -z "$(git status --porcelain)" + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go-version }} + - name: Regenerate NodeNetworkConfig CRD + run: make -C crd/nodenetworkconfig + - name: Regenerate MultitenantNetworkContainer CRD + run: make -C crd/multitenantnetworkcontainer + - name: Regenerate Multitenancy CRDs + run: make -C crd/multitenancy + - name: Fail if the tree is dirty + run: test -z "$(git status --porcelain)" diff --git a/.github/workflows/cyclonus-netpol-extended-nightly-test.yaml b/.github/workflows/cyclonus-netpol-extended-nightly-test.yaml index 1d86de9b88..bfb8449073 100644 --- a/.github/workflows/cyclonus-netpol-extended-nightly-test.yaml +++ b/.github/workflows/cyclonus-netpol-extended-nightly-test.yaml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: "^1.21" + go-version: "^1.22" - name: Setup Kind uses: engineerd/setup-kind@v0.5.0 diff --git a/.github/workflows/cyclonus-netpol-test.yaml b/.github/workflows/cyclonus-netpol-test.yaml index 9cb93876ef..f79c517607 100644 --- a/.github/workflows/cyclonus-netpol-test.yaml +++ b/.github/workflows/cyclonus-netpol-test.yaml @@ -8,11 +8,11 @@ on: - release/* pull_request: paths: - - 'npm/**' - - '.github/**' + - "npm/**" + - ".github/**" schedule: # run once a day at midnight - - cron: '0 0 * * *' + - cron: "0 0 * * *" jobs: cyclonus-test: @@ -33,7 +33,7 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: '^1.21' + go-version: "^1.22" - name: Setup Kind uses: helm/kind-action@v1 @@ -77,7 +77,7 @@ jobs: kubectl logs -n kube-system -l k8s-app=azure-npm --tail -1 --prefix > npm-logs_${{ matrix.profile }}.txt mv ./test/cyclonus/cyclonus-test.txt ./cyclonus-test_${{ matrix.profile }}.txt - - name: 'Upload Logs' + - name: "Upload Logs" uses: actions/upload-artifact@v4 if: always() with: diff --git a/.github/workflows/golangci.yaml b/.github/workflows/golangci.yaml index db9d00be04..7ebcc58fc1 100644 --- a/.github/workflows/golangci.yaml +++ b/.github/workflows/golangci.yaml @@ -15,19 +15,19 @@ jobs: strategy: fail-fast: false matrix: - go-version: ['1.21.x'] + go-version: ["1.21.x", "1.22.x"] os: [ubuntu-latest, windows-latest] name: Lint runs-on: ${{ matrix.os }} steps: - - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: golangci-lint - uses: golangci/golangci-lint-action@v5 - with: - version: v1.55 - args: --new-from-rev=origin/release/v1.5 --config=.golangci.yml --timeout=25m + - uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go-version }} + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: golangci-lint + uses: golangci/golangci-lint-action@v5 + with: + version: v1.55 + args: --new-from-rev=origin/release/v1.5 --config=.golangci.yml --timeout=25m diff --git a/azure-ipam/go.mod b/azure-ipam/go.mod index 3b5d537089..eafda3074e 100644 --- a/azure-ipam/go.mod +++ b/azure-ipam/go.mod @@ -1,6 +1,6 @@ module github.com/Azure/azure-container-networking/azure-ipam -go 1.21 +go 1.22.7 require ( github.com/Azure/azure-container-networking v1.5.21 diff --git a/azure-ipam/linux.Dockerfile b/azure-ipam/linux.Dockerfile index aa9ddcc052..f2a5922d74 100644 --- a/azure-ipam/linux.Dockerfile +++ b/azure-ipam/linux.Dockerfile @@ -3,7 +3,7 @@ ARG DROPGZ_VERSION=v0.0.12 ARG OS_VERSION ARG OS -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS azure-ipam +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS azure-ipam ARG OS ARG VERSION WORKDIR /azure-ipam @@ -18,7 +18,7 @@ COPY --from=azure-ipam /azure-ipam/*.conflist /payload RUN cd /payload && sha256sum * > sum.txt RUN gzip --verbose --best --recursive /payload && for f in /payload/*.gz; do mv -- "$f" "${f%%.gz}"; done -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS dropgz +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS dropgz ARG DROPGZ_VERSION ARG OS ARG VERSION diff --git a/azure-ipam/windows.Dockerfile b/azure-ipam/windows.Dockerfile index f4c7bbca36..a5796eb780 100644 --- a/azure-ipam/windows.Dockerfile +++ b/azure-ipam/windows.Dockerfile @@ -3,7 +3,7 @@ ARG DROPGZ_VERSION=v0.0.12 ARG OS ARG OS_VERSION -FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS azure-ipam +FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS azure-ipam ARG OS ARG VERSION WORKDIR /azure-ipam @@ -18,7 +18,7 @@ COPY --from=azure-ipam /azure-ipam/*.conflist /payload RUN cd /payload && sha256sum * > sum.txt RUN gzip --verbose --best --recursive /payload && for f in /payload/*.gz; do mv -- "$f" "${f%%.gz}"; done -FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS dropgz +FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS dropgz ARG DROPGZ_VERSION ARG OS ARG VERSION diff --git a/bpf-prog/ipv6-hp-bpf/go.mod b/bpf-prog/ipv6-hp-bpf/go.mod index e6dd75a0d6..c0307ba49d 100644 --- a/bpf-prog/ipv6-hp-bpf/go.mod +++ b/bpf-prog/ipv6-hp-bpf/go.mod @@ -1,6 +1,6 @@ module github.com/Azure/azure-container-networking/bpf-prog/ipv6-hp-bpf -go 1.21.6 +go 1.22.7 require ( github.com/cilium/ebpf v0.15.0 diff --git a/bpf-prog/ipv6-hp-bpf/linux.Dockerfile b/bpf-prog/ipv6-hp-bpf/linux.Dockerfile index 64cbbdadc3..042eac0fb7 100644 --- a/bpf-prog/ipv6-hp-bpf/linux.Dockerfile +++ b/bpf-prog/ipv6-hp-bpf/linux.Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS builder +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS builder ARG VERSION ARG DEBUG ARG OS @@ -10,15 +10,15 @@ COPY ./bpf-prog/ipv6-hp-bpf/include/helper.h /bpf-prog/ipv6-hp-bpf/include/helpe RUN apt-get update && apt-get install -y llvm clang linux-libc-dev linux-headers-generic libbpf-dev libc6-dev nftables iproute2 RUN mkdir -p /tmp/lib RUN if [ "$ARCH" = "arm64" ]; then \ - apt-get install -y gcc-aarch64-linux-gnu && \ - ARCH=aarch64-linux-gnu && \ - cp /lib/"$ARCH"/ld-linux-aarch64.so.1 /tmp/lib/ && \ - for dir in /usr/include/"$ARCH"/*; do ln -s "$dir" /usr/include/$(basename "$dir"); done; \ + apt-get install -y gcc-aarch64-linux-gnu && \ + ARCH=aarch64-linux-gnu && \ + cp /lib/"$ARCH"/ld-linux-aarch64.so.1 /tmp/lib/ && \ + for dir in /usr/include/"$ARCH"/*; do ln -s "$dir" /usr/include/$(basename "$dir"); done; \ elif [ "$ARCH" = "amd64" ]; then \ - apt-get install -y gcc-multilib && \ - ARCH=x86_64-linux-gnu && \ - cp /lib/"$ARCH"/ld-linux-x86-64.so.2 /tmp/lib/ && \ - for dir in /usr/include/"$ARCH"/*; do ln -s "$dir" /usr/include/$(basename "$dir"); done; \ + apt-get install -y gcc-multilib && \ + ARCH=x86_64-linux-gnu && \ + cp /lib/"$ARCH"/ld-linux-x86-64.so.2 /tmp/lib/ && \ + for dir in /usr/include/"$ARCH"/*; do ln -s "$dir" /usr/include/$(basename "$dir"); done; \ fi && \ ln -sfn /usr/include/"$ARCH"/asm /usr/include/asm && \ cp /lib/"$ARCH"/libnftables.so.1 /tmp/lib/ && \ diff --git a/build/tools/go.mod b/build/tools/go.mod index 57aedfa780..a1c6fb78aa 100644 --- a/build/tools/go.mod +++ b/build/tools/go.mod @@ -1,6 +1,6 @@ module github.com/Azure/azure-container-networking/build/tools -go 1.21 +go 1.22.7 require ( github.com/AlekSi/gocov-xml v1.1.0 diff --git a/cni/linux.Dockerfile b/cni/linux.Dockerfile index 18b93be7d5..b38b88b8af 100644 --- a/cni/linux.Dockerfile +++ b/cni/linux.Dockerfile @@ -3,7 +3,7 @@ ARG DROPGZ_VERSION=v0.0.12 ARG OS_VERSION ARG OS -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS azure-vnet +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS azure-vnet ARG OS ARG VERSION WORKDIR /azure-container-networking @@ -29,7 +29,7 @@ COPY --from=azure-vnet /azure-container-networking/telemetry/azure-vnet-telemetr RUN cd /payload && sha256sum * > sum.txt RUN gzip --verbose --best --recursive /payload && for f in /payload/*.gz; do mv -- "$f" "${f%%.gz}"; done -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS dropgz +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS dropgz ARG DROPGZ_VERSION ARG OS ARG VERSION diff --git a/cni/windows.Dockerfile b/cni/windows.Dockerfile index a7dd0a8054..a464a700c9 100644 --- a/cni/windows.Dockerfile +++ b/cni/windows.Dockerfile @@ -3,7 +3,7 @@ ARG DROPGZ_VERSION=v0.0.12 ARG OS ARG OS_VERSION -FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS azure-vnet +FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS azure-vnet ARG OS ARG VERSION WORKDIR /azure-container-networking @@ -26,7 +26,7 @@ COPY --from=azure-vnet /azure-container-networking/telemetry/azure-vnet-telemetr RUN cd /payload && sha256sum * > sum.txt RUN gzip --verbose --best --recursive /payload && for f in /payload/*.gz; do mv -- "$f" "${f%%.gz}"; done -FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS dropgz +FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS dropgz ARG DROPGZ_VERSION ARG OS ARG VERSION diff --git a/cns/linux.Dockerfile b/cns/linux.Dockerfile index baa6252e95..868dc8998a 100644 --- a/cns/linux.Dockerfile +++ b/cns/linux.Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS builder +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS builder ARG VERSION ARG CNS_AI_PATH ARG CNS_AI_ID diff --git a/cns/windows.Dockerfile b/cns/windows.Dockerfile index 63fb85f2c7..45f17406cf 100644 --- a/cns/windows.Dockerfile +++ b/cns/windows.Dockerfile @@ -1,5 +1,5 @@ ARG OS_VERSION -FROM --platform=linux/amd64 mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS builder +FROM --platform=linux/amd64 mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS builder ARG VERSION ARG CNS_AI_PATH ARG CNS_AI_ID diff --git a/dropgz/build/linux.Dockerfile b/dropgz/build/linux.Dockerfile index 3e72319b02..113d4d70d3 100644 --- a/dropgz/build/linux.Dockerfile +++ b/dropgz/build/linux.Dockerfile @@ -36,7 +36,7 @@ COPY --from=azure-vnet /azure-container-networking/azure-vnet-ipam pkg/embed/fs RUN cd pkg/embed/fs/ && sha256sum * > sum.txt RUN gzip --verbose --best --recursive pkg/embed/fs && for f in pkg/embed/fs/*.gz; do mv -- "$f" "${f%%.gz}"; done -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS dropgz +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS dropgz ARG VERSION WORKDIR /dropgz COPY --from=compressor /dropgz . diff --git a/dropgz/build/windows.Dockerfile b/dropgz/build/windows.Dockerfile index 25e09bf040..b7996656d0 100644 --- a/dropgz/build/windows.Dockerfile +++ b/dropgz/build/windows.Dockerfile @@ -27,7 +27,7 @@ COPY --from=azure-vnet /azure-container-networking/azure-vnet-telemetry.config p RUN cd pkg/embed/fs/ && sha256sum * > sum.txt RUN gzip --verbose --best --recursive pkg/embed/fs && for f in pkg/embed/fs/*.gz; do mv -- "$f" "${f%%.gz}"; done -FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS dropgz +FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS dropgz ARG VERSION WORKDIR /dropgz COPY --from=compressor /dropgz . diff --git a/dropgz/go.mod b/dropgz/go.mod index b77c9046cd..bde3a4b118 100644 --- a/dropgz/go.mod +++ b/dropgz/go.mod @@ -1,6 +1,6 @@ module github.com/Azure/azure-container-networking/dropgz -go 1.21 +go 1.22.7 require ( github.com/jsternberg/zap-logfmt v1.3.0 diff --git a/go.mod b/go.mod index 270e807458..7b42d05843 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/Azure/azure-container-networking -go 1.21 +go 1.22.7 require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 diff --git a/hack/toolbox/Dockerfile.windows b/hack/toolbox/Dockerfile.windows index 12c4867157..6e85d65108 100644 --- a/hack/toolbox/Dockerfile.windows +++ b/hack/toolbox/Dockerfile.windows @@ -1,5 +1,5 @@ # Build cns -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS builder +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS builder # Build args ARG VERSION ARG CNS_AI_PATH diff --git a/hack/toolbox/server/Dockerfile.heavy b/hack/toolbox/server/Dockerfile.heavy index fc0e7b160c..1e98bf2fbd 100644 --- a/hack/toolbox/server/Dockerfile.heavy +++ b/hack/toolbox/server/Dockerfile.heavy @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 as build +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 as build ADD ./ / WORKDIR / RUN CGO_ENABLED=0 GOOS=linux go build -o server . diff --git a/hack/toolbox/server/Dockerfile.lite b/hack/toolbox/server/Dockerfile.lite index 6c16f7459e..ba752e44d7 100644 --- a/hack/toolbox/server/Dockerfile.lite +++ b/hack/toolbox/server/Dockerfile.lite @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 as build +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 as build ADD ./server/server.go / ADD ./server/go.mod / WORKDIR / diff --git a/npm/linux.Dockerfile b/npm/linux.Dockerfile index f9f0cdf2c3..c8f42fa90a 100644 --- a/npm/linux.Dockerfile +++ b/npm/linux.Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS builder +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS builder ARG VERSION ARG NPM_AI_PATH ARG NPM_AI_ID diff --git a/npm/windows.Dockerfile b/npm/windows.Dockerfile index 62052302d8..0ace513815 100644 --- a/npm/windows.Dockerfile +++ b/npm/windows.Dockerfile @@ -1,5 +1,5 @@ ARG OS_VERSION -FROM --platform=linux/amd64 mcr.microsoft.com/oss/go/microsoft/golang:1.21 AS builder +FROM --platform=linux/amd64 mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS builder ARG VERSION ARG NPM_AI_PATH ARG NPM_AI_ID diff --git a/tools/acncli/Dockerfile b/tools/acncli/Dockerfile index 49d523609e..38f637b2ff 100644 --- a/tools/acncli/Dockerfile +++ b/tools/acncli/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/oss/go/microsoft/golang:1.21 as build +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 as build WORKDIR /go/src/github.com/Azure/azure-container-networking/ ARG VERSION ADD . . diff --git a/zapai/go.mod b/zapai/go.mod index 6c7738379b..b8b5ca1361 100644 --- a/zapai/go.mod +++ b/zapai/go.mod @@ -1,6 +1,6 @@ module github.com/Azure/azure-container-networking/zapai -go 1.21 +go 1.22.7 require ( github.com/jsternberg/zap-logfmt v1.3.0