ci, go.mod: bump to go 1.23 (#1094)

* ci, go.mod: bump to go 1.23

Now that go.mod matches our go version, we can stop setting go version
in CI separately.

Signed-off-by: Casey Callendrello <c1@caseyc.net>

* minor: fix lint errors

Bumping golangci-lint to v1.61 introduced some new reasonable checks;
fix the errors they found.

Signed-off-by: Casey Callendrello <c1@caseyc.net>

* ci: bump golangci-lint to v1.61.0

Also, fix some deprecated config directives.

Signed-off-by: Casey Callendrello <c1@caseyc.net>

---------

Signed-off-by: Casey Callendrello <c1@caseyc.net>
This commit is contained in:
Casey Callendrello 2024-09-17 12:28:55 +02:00 committed by GitHub
parent cc8b1bd80c
commit e5df283ab3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 42 additions and 45 deletions

View File

@ -13,13 +13,13 @@ jobs:
matrix: matrix:
goarch: [amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x] goarch: [amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x]
steps: steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Go - name: Install Go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: 1.22 go-version-file: go.mod
- name: Checkout code
uses: actions/checkout@v4
- name: Build - name: Build
env: env:
@ -68,13 +68,13 @@ jobs:
- name: Install dos2unix - name: Install dos2unix
run: sudo apt-get install dos2unix run: sudo apt-get install dos2unix
- name: Checkout code
uses: actions/checkout@v4
- name: Install Go - name: Install Go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: 1.21 go-version-file: go.mod
- name: Checkout code
uses: actions/checkout@v4
- name: Build - name: Build
env: env:

View File

@ -5,8 +5,6 @@ on:
pull_request: {} pull_request: {}
env: env:
# be sure to update the version in release.yaml too
GO_VERSION: "1.22"
LINUX_ARCHES: "amd64 386 arm arm64 s390x mips64le ppc64le riscv64" LINUX_ARCHES: "amd64 386 arm arm64 s390x mips64le ppc64le riscv64"
jobs: jobs:
@ -18,15 +16,14 @@ jobs:
- name: setup go - name: setup go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: ${{ env.GO_VERSION }} go-version-file: go.mod
- uses: ibiqlik/action-yamllint@v3 - uses: ibiqlik/action-yamllint@v3
with: with:
format: auto format: auto
- uses: golangci/golangci-lint-action@v6 - uses: golangci/golangci-lint-action@v6
with: with:
version: v1.55.2 version: v1.61.0
args: -v args: -v
skip-cache: true
verify-vendor: verify-vendor:
name: Verify vendor directory name: Verify vendor directory
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -35,7 +32,7 @@ jobs:
- name: Install Go - name: Install Go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: ${{ env.GO_VERSION }} go-version-file: go.mod
- name: Check module vendoring - name: Check module vendoring
run: | run: |
go mod tidy go mod tidy
@ -50,7 +47,7 @@ jobs:
- name: setup go - name: setup go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: ${{ env.GO_VERSION }} go-version-file: go.mod
- name: Build on all supported architectures - name: Build on all supported architectures
run: | run: |
set -e set -e
@ -74,7 +71,7 @@ jobs:
- name: setup go - name: setup go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: ${{ env.GO_VERSION }} go-version-file: go.mod
- name: Set up Go for root - name: Set up Go for root
run: | run: |
sudo ln -sf `which go` `sudo which go` || true sudo ln -sf `which go` `sudo which go` || true
@ -105,6 +102,6 @@ jobs:
- name: setup go - name: setup go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: ${{ env.GO_VERSION }} go-version-file: go.mod
- name: test - name: test
run: bash ./test_windows.sh run: bash ./test_windows.sh

View File

@ -40,6 +40,5 @@ linters-settings:
- prefix(github.com/containernetworking) - prefix(github.com/containernetworking)
run: run:
skip-dirs:
- vendor
timeout: 5m timeout: 5m
modules-download-mode: vendor

2
go.mod
View File

@ -1,6 +1,6 @@
module github.com/containernetworking/plugins module github.com/containernetworking/plugins
go 1.21 go 1.23
require ( require (
github.com/Microsoft/hcsshim v0.12.6 github.com/Microsoft/hcsshim v0.12.6

View File

@ -43,7 +43,7 @@ func TestAnnotate(t *testing.T) {
for _, test := range tests { for _, test := range tests {
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
if !reflect.DeepEqual(Annotatef(test.existingErr, test.contextMessage), test.expectedErr) { if !reflect.DeepEqual(Annotate(test.existingErr, test.contextMessage), test.expectedErr) {
t.Errorf("test case %s fails", test.name) t.Errorf("test case %s fails", test.name)
return return
} }

View File

@ -15,6 +15,7 @@
package link_test package link_test
import ( import (
"errors"
"fmt" "fmt"
"github.com/networkplumbing/go-nft/nft" "github.com/networkplumbing/go-nft/nft"
@ -301,10 +302,10 @@ type configurerStub struct {
func (a *configurerStub) Apply(c *nft.Config) (*nft.Config, error) { func (a *configurerStub) Apply(c *nft.Config) (*nft.Config, error) {
a.applyCounter++ a.applyCounter++
if a.failFirstApplyConfig && a.applyCounter == 1 { if a.failFirstApplyConfig && a.applyCounter == 1 {
return nil, fmt.Errorf(errorFirstApplyText) return nil, errors.New(errorFirstApplyText)
} }
if a.failSecondApplyConfig && a.applyCounter == 2 { if a.failSecondApplyConfig && a.applyCounter == 2 {
return nil, fmt.Errorf(errorSecondApplyText) return nil, errors.New(errorSecondApplyText)
} }
a.applyConfig = append(a.applyConfig, c) a.applyConfig = append(a.applyConfig, c)
if a.applyReturnNil { if a.applyReturnNil {
@ -316,7 +317,7 @@ func (a *configurerStub) Apply(c *nft.Config) (*nft.Config, error) {
func (a *configurerStub) Read(_ ...string) (*nft.Config, error) { func (a *configurerStub) Read(_ ...string) (*nft.Config, error) {
a.readCalled = true a.readCalled = true
if a.failReadConfig { if a.failReadConfig {
return nil, fmt.Errorf(errorReadText) return nil, errors.New(errorReadText)
} }
return a.readConfig, nil return a.readConfig, nil
} }

View File

@ -15,6 +15,7 @@
package main package main
import ( import (
"errors"
"fmt" "fmt"
"net" "net"
"strings" "strings"
@ -130,7 +131,7 @@ func cmdAdd(args *skel.CmdArgs) error {
for _, ip := range requestedIPs { for _, ip := range requestedIPs {
errstr = errstr + " " + ip.String() errstr = errstr + " " + ip.String()
} }
return fmt.Errorf(errstr) return errors.New(errstr)
} }
result.Routes = ipamConf.Routes result.Routes = ipamConf.Routes
@ -151,18 +152,18 @@ func cmdDel(args *skel.CmdArgs) error {
defer store.Close() defer store.Close()
// Loop through all ranges, releasing all IPs, even if an error occurs // Loop through all ranges, releasing all IPs, even if an error occurs
var errors []string var errs []string
for idx, rangeset := range ipamConf.Ranges { for idx, rangeset := range ipamConf.Ranges {
ipAllocator := allocator.NewIPAllocator(&rangeset, store, idx) ipAllocator := allocator.NewIPAllocator(&rangeset, store, idx)
err := ipAllocator.Release(args.ContainerID, args.IfName) err := ipAllocator.Release(args.ContainerID, args.IfName)
if err != nil { if err != nil {
errors = append(errors, err.Error()) errs = append(errs, err.Error())
} }
} }
if errors != nil { if errs != nil {
return fmt.Errorf(strings.Join(errors, ";")) return errors.New(strings.Join(errs, ";"))
} }
return nil return nil
} }

View File

@ -393,7 +393,6 @@ func moveLinkOut(containerNs ns.NetNS, ifName string) error {
} }
return nil return nil
}) })
if err != nil { if err != nil {
return err return err
} }

View File

@ -117,7 +117,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
_, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) _, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })
@ -166,7 +166,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
_, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) _, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })
@ -216,7 +216,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
_, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) _, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })
@ -264,7 +264,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
_, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) _, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })
@ -312,7 +312,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
_, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) _, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })
@ -371,7 +371,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
r, out, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) r, out, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })
Expect(err).NotTo(HaveOccurred(), string(out)) Expect(err).NotTo(HaveOccurred(), string(out))
@ -454,7 +454,7 @@ var _ = Describe("bandwidth config test", func() {
})).To(Succeed()) })).To(Succeed())
// Container ingress (host egress) // Container ingress (host egress)
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
vethLink, err := netlink.LinkByName(hostIfname) vethLink, err := netlink.LinkByName(hostIfname)
@ -520,7 +520,7 @@ var _ = Describe("bandwidth config test", func() {
StdinData: []byte(conf), StdinData: []byte(conf),
} }
Expect(hostNs.Do(func(netNS ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
_, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) }) _, _, err := testutils.CmdAdd(containerNs.Path(), args.ContainerID, "", []byte(conf), func() error { return cmdAdd(args) })

View File

@ -179,7 +179,7 @@ var _ = Describe("bandwidth test", func() {
})).To(Succeed()) })).To(Succeed())
// Container ingress (host egress) // Container ingress (host egress)
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
vethLink, err := netlink.LinkByName(hostIfname) vethLink, err := netlink.LinkByName(hostIfname)
@ -381,7 +381,7 @@ var _ = Describe("bandwidth test", func() {
})).To(Succeed()) })).To(Succeed())
// Container ingress (host egress) // Container ingress (host egress)
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
vethLink, err := netlink.LinkByName(hostIfname) vethLink, err := netlink.LinkByName(hostIfname)
@ -638,7 +638,7 @@ var _ = Describe("bandwidth test", func() {
})).To(Succeed()) })).To(Succeed())
// Container ingress (host egress) // Container ingress (host egress)
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
vethLink, err := netlink.LinkByName(hostIfname) vethLink, err := netlink.LinkByName(hostIfname)
@ -888,7 +888,7 @@ var _ = Describe("bandwidth test", func() {
// check container ingress side / host egress side, we should not have any htb qdisc/classes/filters defined for the host veth // check container ingress side / host egress side, we should not have any htb qdisc/classes/filters defined for the host veth
// only the qdisc ingress + a noqueue qdisc // only the qdisc ingress + a noqueue qdisc
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
containerIfLink, err := netlink.LinkByName(hostIfname) containerIfLink, err := netlink.LinkByName(hostIfname)
@ -957,7 +957,7 @@ var _ = Describe("bandwidth test", func() {
return nil return nil
})).To(Succeed()) })).To(Succeed())
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
containerIfLink, err := netlink.LinkByName(hostIfname) containerIfLink, err := netlink.LinkByName(hostIfname)
@ -1133,7 +1133,7 @@ var _ = Describe("bandwidth test", func() {
})).To(Succeed()) })).To(Succeed())
// Container ingress (host egress) // Container ingress (host egress)
Expect(hostNs.Do(func(n ns.NetNS) error { Expect(hostNs.Do(func(_ ns.NetNS) error {
defer GinkgoRecover() defer GinkgoRecover()
vethLink, err := netlink.LinkByName(hostIfname) vethLink, err := netlink.LinkByName(hostIfname)

View File

@ -319,7 +319,7 @@ func restoreBackup(ifName, containerID, backupPath string) error {
} }
if len(errStr) > 0 { if len(errStr) > 0 {
return fmt.Errorf(strings.Join(errStr, "; ")) return errors.New(strings.Join(errStr, "; "))
} }
if err = os.Remove(filePath); err != nil { if err = os.Remove(filePath); err != nil {