Skip to content

Commit

Permalink
Add support for Go 1.24 (#6765)
Browse files Browse the repository at this point in the history
  • Loading branch information
dmathieu authored Feb 13, 2025
1 parent e780c70 commit 96d0b57
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 5 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ env:
# backwards compatibility with the previous two minor releases and we
# explicitly test our code for these versions so keeping this at prior
# versions does not add value.
DEFAULT_GO_VERSION: "~1.23.0"
DEFAULT_GO_VERSION: "~1.24.0"
jobs:
lint:
runs-on: ubuntu-latest
Expand All @@ -35,7 +35,7 @@ jobs:
cache-name: go-tools-cache
with:
path: .tools
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('./tools/**') }}
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.DEFAULT_GO_VERSION }}-${{ hashFiles('./tools/**') }}
# The step below is needed to not rebuild all the build tools.
- name: Set tools/go.mod timestamp
run: |
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
compatibility-test:
strategy:
matrix:
go-version: ["1.23.0", "~1.22.4"]
go-version: ["1.24.0", "1.23.0", "~1.22.4"]
platform:
- os: ubuntu-latest
arch: "386"
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## [Unreleased]

This release is the last to support [Go 1.22].
The next release will require at least [Go 1.23].

### Added

- Add support for configuring `ClientCertificate` and `ClientKey` field for OTLP exporters in `go.opentelemetry.io/contrib/config`. (#6378)
Expand All @@ -19,6 +22,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Add support for configuring `Insecure` field for OTLP exporters in `go.opentelemetry.io/contrib/config`. (#6658)
- Support for the `OTEL_HTTP_CLIENT_COMPATIBILITY_MODE=http/dup` environment variable in `instrumentation/net/http/httptrace/otelhttptrace` to emit attributes for both the v1.20.0 and v1.26.0 semantic conventions. (#6720)
- Support for the `OTEL_HTTP_CLIENT_COMPATIBILITY_MODE=http/dup` environment variable in `instrumentation/github.com/emicklei/go-restful/otelrestful` to emit attributes for both the v1.20.0 and v1.26.0 semantic conventions. (#6710)
- Support [Go 1.24]. (#6765)

### Changed

Expand Down Expand Up @@ -1308,6 +1312,7 @@ First official tagged release of `contrib` repository.

<!-- Released section ended -->

[Go 1.24]: https://go.dev/doc/go1.24
[Go 1.23]: https://go.dev/doc/go1.23
[Go 1.22]: https://go.dev/doc/go1.22
[Go 1.21]: https://go.dev/doc/go1.21
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,22 @@ This project is tested on the following systems.

| OS | Go Version | Architecture |
| -------- | ---------- | ------------ |
| Ubuntu | 1.24 | amd64 |
| Ubuntu | 1.23 | amd64 |
| Ubuntu | 1.22 | amd64 |
| Ubuntu | 1.24 | 386 |
| Ubuntu | 1.23 | 386 |
| Ubuntu | 1.22 | 386 |
| macOS 13 | 1.24 | amd64 |
| macOS 13 | 1.23 | amd64 |
| macOS 13 | 1.22 | amd64 |
| macOS | 1.24 | arm64 |
| macOS | 1.23 | arm64 |
| macOS | 1.22 | arm64 |
| Windows | 1.24 | amd64 |
| Windows | 1.23 | amd64 |
| Windows | 1.22 | amd64 |
| Windows | 1.24 | 386 |
| Windows | 1.23 | 386 |
| Windows | 1.22 | 386 |

Expand Down
4 changes: 2 additions & 2 deletions config/v0.3.0/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,7 @@ func TestSerializeJSON(t *testing.T) {
{
name: "valid v0.2 config",
input: "v0.2.json",
wantErr: errors.New(`json: cannot unmarshal object into Go struct field LogRecordProcessor.logger_provider.processors.batch of type []config.NameStringValuePair`),
wantErr: errors.New(`json: cannot unmarshal object into Go struct field LogRecordProcessor.logger_provider.processors.batch`),
},
{
name: "valid v0.3 config",
Expand All @@ -503,7 +503,7 @@ func TestSerializeJSON(t *testing.T) {

if tt.wantErr != nil {
require.Error(t, err)
require.Equal(t, tt.wantErr.Error(), err.Error())
require.ErrorContains(t, err, tt.wantErr.Error())
} else {
require.NoError(t, err)
assert.Equal(t, tt.wantType, got)
Expand Down

0 comments on commit 96d0b57

Please sign in to comment.