summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKévin Dunglas <[email protected]>2024-08-23 19:01:28 +0200
committerGitHub <[email protected]>2024-08-23 11:01:28 -0600
commit2028da4e74cd41f0f7f94222c6599da1a371d4b8 (patch)
tree9d29ec3f057d913a5daba11f98b42d80f9da3ed5
parent4ade967005929e98ae2265d9d7c89b33f1ca951b (diff)
downloadcaddy-2028da4e74cd41f0f7f94222c6599da1a371d4b8.tar.gz
caddy-2028da4e74cd41f0f7f94222c6599da1a371d4b8.zip
ci: build and test with Go 1.23 (#6526)
* chore: build and test with Go 1.23 * ci: bump golangci-lint to v1.60 * fix: make properly wrap errors * ci: remove Go 1.21
-rw-r--r--.github/workflows/ci.yml8
-rw-r--r--.github/workflows/cross-build.yml4
-rw-r--r--.github/workflows/lint.yml6
-rw-r--r--.github/workflows/release.yml6
-rw-r--r--README.md2
-rw-r--r--caddyconfig/caddyfile/dispenser.go2
-rw-r--r--go.mod4
-rw-r--r--modules/caddyhttp/celmatcher.go4
8 files changed, 20 insertions, 16 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0c6846fc9..2c7a67c5b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,18 +23,18 @@ jobs:
- mac
- windows
go:
- - '1.21'
- '1.22'
+ - '1.23'
include:
# Set the minimum Go patch version for the given Go minor
# Usable via ${{ matrix.GO_SEMVER }}
- - go: '1.21'
- GO_SEMVER: '~1.21.0'
-
- go: '1.22'
GO_SEMVER: '~1.22.3'
+ - go: '1.23'
+ GO_SEMVER: '~1.23.0'
+
# Set some variables per OS, usable via ${{ matrix.VAR }}
# OS_LABEL: the VM label from GitHub Actions (see https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories)
# CADDY_BIN_PATH: the path to the compiled Caddy binary, for artifact publishing
diff --git a/.github/workflows/cross-build.yml b/.github/workflows/cross-build.yml
index c54a9a80d..e77e4e992 100644
--- a/.github/workflows/cross-build.yml
+++ b/.github/workflows/cross-build.yml
@@ -28,6 +28,7 @@ jobs:
- 'netbsd'
go:
- '1.22'
+ - '1.23'
include:
# Set the minimum Go patch version for the given Go minor
@@ -35,6 +36,9 @@ jobs:
- go: '1.22'
GO_SEMVER: '~1.22.3'
+ - go: '1.23'
+ GO_SEMVER: '~1.23.0'
+
runs-on: ubuntu-latest
continue-on-error: true
steps:
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 1ebdb0afe..94250f88f 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -43,13 +43,13 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
- go-version: '~1.22.3'
+ go-version: '~1.23'
check-latest: true
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
- version: v1.55
+ version: v1.60
# Windows times out frequently after about 5m50s if we don't set a longer timeout.
args: --timeout 10m
@@ -63,5 +63,5 @@ jobs:
- name: govulncheck
uses: golang/govulncheck-action@v1
with:
- go-version-input: '~1.22.3'
+ go-version-input: '~1.23.0'
check-latest: true
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index cb5d750dc..1eb59e9d0 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -13,13 +13,13 @@ jobs:
os:
- ubuntu-latest
go:
- - '1.22'
+ - '1.23'
include:
# Set the minimum Go patch version for the given Go minor
# Usable via ${{ matrix.GO_SEMVER }}
- - go: '1.22'
- GO_SEMVER: '~1.22.3'
+ - go: '1.23'
+ GO_SEMVER: '~1.23.0'
runs-on: ${{ matrix.os }}
# https://github.com/sigstore/cosign/issues/1258#issuecomment-1002251233
diff --git a/README.md b/README.md
index 57463180f..2185eccd8 100644
--- a/README.md
+++ b/README.md
@@ -87,7 +87,7 @@ See [our online documentation](https://caddyserver.com/docs/install) for other i
Requirements:
-- [Go 1.21 or newer](https://golang.org/dl/)
+- [Go 1.22.3 or newer](https://golang.org/dl/)
### For development
diff --git a/caddyconfig/caddyfile/dispenser.go b/caddyconfig/caddyfile/dispenser.go
index e36275a1c..325bb54d3 100644
--- a/caddyconfig/caddyfile/dispenser.go
+++ b/caddyconfig/caddyfile/dispenser.go
@@ -415,7 +415,7 @@ func (d *Dispenser) EOFErr() error {
// Err generates a custom parse-time error with a message of msg.
func (d *Dispenser) Err(msg string) error {
- return d.Errf(msg)
+ return d.WrapErr(errors.New(msg))
}
// Errf is like Err, but for formatted error messages
diff --git a/go.mod b/go.mod
index e6dd928b9..6ae4a4a8e 100644
--- a/go.mod
+++ b/go.mod
@@ -1,8 +1,8 @@
module github.com/caddyserver/caddy/v2
-go 1.21.0
+go 1.22.3
-toolchain go1.22.2
+toolchain go1.23.0
require (
github.com/BurntSushi/toml v1.3.2
diff --git a/modules/caddyhttp/celmatcher.go b/modules/caddyhttp/celmatcher.go
index d4016478e..a5565eb98 100644
--- a/modules/caddyhttp/celmatcher.go
+++ b/modules/caddyhttp/celmatcher.go
@@ -340,7 +340,7 @@ func (celTypeAdapter) NativeToValue(value any) ref.Val {
case time.Time:
return types.Timestamp{Time: v}
case error:
- types.NewErr(v.Error())
+ return types.WrapErr(v)
}
return types.DefaultTypeAdapter.NativeToValue(value)
}
@@ -499,7 +499,7 @@ func CELMatcherRuntimeFunction(funcName string, fac CELMatcherFactory) functions
return func(celReq, matcherData ref.Val) ref.Val {
matcher, err := fac(matcherData)
if err != nil {
- return types.NewErr(err.Error())
+ return types.WrapErr(err)
}
httpReq := celReq.Value().(celHTTPRequest)
return types.Bool(matcher.Match(httpReq.Request))