Skip to content

Commit 91237e3

Browse files
authored
Merge pull request #100 from linuxfoundation/feat/LFXV2-2201-upgrade-deps-remove-auth0-usernames
chore: upgrade deps, fix semconv version, remove auth0| usernames
2 parents 0e10acf + 60772d4 commit 91237e3

9 files changed

Lines changed: 166 additions & 115 deletions

File tree

.agents/skills/upgrade-maintenance/SKILL.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,53 @@ Two categories of service are present, with different upgrade patterns:
8484
minor/patch bumps expected. A major bump could change `mcp.AddTool`
8585
signatures, annotation fields, or content types.
8686

87+
### Step 1.2.1 — Update the OTel semconv import version
88+
89+
`go.opentelemetry.io/otel/semconv` is **not** a separate Go module. The version
90+
in the import path (e.g. `semconv/v1.40.0`) is an OTel semantic-convention spec
91+
version that is a subdirectory **inside** the `go.opentelemetry.io/otel` module.
92+
93+
**Why this matters**: instrumentation packages (e.g. `otelhttp`) always import
94+
the semconv sub-package they were written against. When that version differs from
95+
the one imported in our own code, the OTel SDK emits a startup error:
96+
97+
```
98+
conflicting Schema URL: https://opentelemetry.io/schemas/1.41.0 and
99+
https://opentelemetry.io/schemas/1.40.0
100+
```
101+
102+
**Rule**: after upgrading `go.opentelemetry.io/otel`, always update our semconv
103+
import paths to the **highest-numbered sub-package present** inside the new otel
104+
version. That is deterministically the latest spec version shipped with the
105+
module, and it is the version the upgraded instrumentation packages will register.
106+
107+
Find it with:
108+
109+
```bash
110+
OTEL_VER=$(grep 'go.opentelemetry.io/otel v' go.mod | grep -v '//' | awk '{print $2}' | head -1)
111+
ls $(go env GOMODCACHE)/go.opentelemetry.io/otel@${OTEL_VER}/semconv/ \
112+
| grep '^v[0-9]' | sort -V | tail -1
113+
# e.g. "v1.41.0"
114+
```
115+
116+
Then update every `semconv/v*` import in the codebase to use that version:
117+
118+
```bash
119+
# Find all semconv imports.
120+
grep -rn 'semconv/v' internal/ cmd/ --include='*.go'
121+
```
122+
123+
Update each import path in-place (e.g. `semconv/v1.40.0``semconv/v1.41.0`).
124+
The attributes and helper functions are additive across minor spec versions, so
125+
the rename is always safe for a minor/patch upgrade.
126+
127+
After updating, verify the build and confirm the schema-URL conflict is gone:
128+
129+
```bash
130+
make build && ./scripts/test_server.sh 2>&1 | grep -i 'conflicting\|schema'
131+
# Should produce no output.
132+
```
133+
87134
### Step 1.3 — Verify the build compiles
88135

89136
```bash

cmd/lfx-mcp-server/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434
slogotel "github.com/remychantenay/slog-otel"
3535
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
3636
"go.opentelemetry.io/otel"
37-
semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
37+
semconv "go.opentelemetry.io/otel/semconv/v1.41.0"
3838
"go.opentelemetry.io/otel/trace"
3939
)
4040

go.mod

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,43 @@
22
// SPDX-License-Identifier: MIT
33
module github.com/linuxfoundation/lfx-mcp
44

5-
go 1.26.3
5+
go 1.26.4
66

77
require (
88
github.com/knadh/koanf/providers/basicflag v1.1.0
99
github.com/knadh/koanf/providers/env/v2 v2.0.0
10-
github.com/knadh/koanf/v2 v2.3.4
10+
github.com/knadh/koanf/v2 v2.3.5
1111
github.com/lestrrat-go/jwx/v2 v2.1.6
12-
github.com/linuxfoundation/lfx-v2-committee-service v0.2.35
13-
github.com/linuxfoundation/lfx-v2-mailing-list-service v0.4.13
14-
github.com/linuxfoundation/lfx-v2-member-service v0.8.0
15-
github.com/linuxfoundation/lfx-v2-project-service v0.6.11
16-
github.com/linuxfoundation/lfx-v2-query-service v0.4.21
12+
github.com/linuxfoundation/lfx-v2-committee-service v0.4.0
13+
github.com/linuxfoundation/lfx-v2-mailing-list-service v0.5.0
14+
github.com/linuxfoundation/lfx-v2-member-service v0.9.0
15+
github.com/linuxfoundation/lfx-v2-project-service v0.8.0
16+
github.com/linuxfoundation/lfx-v2-query-service v0.4.22
1717
github.com/modelcontextprotocol/go-sdk v1.6.1
1818
github.com/patrickmn/go-cache v2.1.0+incompatible
1919
github.com/remychantenay/slog-otel v1.3.5
20-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0
21-
go.opentelemetry.io/contrib/propagators/jaeger v1.43.0
22-
go.opentelemetry.io/otel v1.43.0
23-
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.19.0
24-
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.19.0
25-
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0
26-
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.43.0
27-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0
28-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0
29-
go.opentelemetry.io/otel/log v0.19.0
30-
go.opentelemetry.io/otel/sdk v1.43.0
31-
go.opentelemetry.io/otel/sdk/log v0.19.0
32-
go.opentelemetry.io/otel/sdk/metric v1.43.0
33-
go.opentelemetry.io/otel/trace v1.43.0
34-
goa.design/goa/v3 v3.27.0
20+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0
21+
go.opentelemetry.io/contrib/propagators/jaeger v1.44.0
22+
go.opentelemetry.io/otel v1.44.0
23+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.20.0
24+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.20.0
25+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0
26+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0
27+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0
28+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0
29+
go.opentelemetry.io/otel/log v0.20.0
30+
go.opentelemetry.io/otel/sdk v1.44.0
31+
go.opentelemetry.io/otel/sdk/log v0.20.0
32+
go.opentelemetry.io/otel/sdk/metric v1.44.0
33+
go.opentelemetry.io/otel/trace v1.44.0
34+
goa.design/goa/v3 v3.28.0
3535
)
3636

3737
require (
3838
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
3939
github.com/cespare/xxhash/v2 v2.3.0 // indirect
4040
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.1 // indirect
41-
github.com/felixge/httpsnoop v1.0.4 // indirect
41+
github.com/felixge/httpsnoop v1.1.0 // indirect
4242
github.com/go-chi/chi/v5 v5.3.0 // indirect
4343
github.com/go-logr/logr v1.4.3 // indirect
4444
github.com/go-logr/stdr v1.2.2 // indirect
@@ -60,16 +60,16 @@ require (
6060
github.com/segmentio/encoding v0.5.4 // indirect
6161
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
6262
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
63-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect
64-
go.opentelemetry.io/otel/metric v1.43.0 // indirect
63+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect
64+
go.opentelemetry.io/otel/metric v1.44.0 // indirect
6565
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
66-
golang.org/x/crypto v0.52.0 // indirect
67-
golang.org/x/net v0.55.0 // indirect
66+
golang.org/x/crypto v0.53.0 // indirect
67+
golang.org/x/net v0.56.0 // indirect
6868
golang.org/x/oauth2 v0.36.0 // indirect
69-
golang.org/x/sys v0.45.0 // indirect
70-
golang.org/x/text v0.37.0 // indirect
71-
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect
72-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
69+
golang.org/x/sys v0.46.0 // indirect
70+
golang.org/x/text v0.38.0 // indirect
71+
google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad // indirect
72+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad // indirect
7373
google.golang.org/grpc v1.81.1 // indirect
7474
google.golang.org/protobuf v1.36.11 // indirect
7575
)

0 commit comments

Comments
 (0)