hugo: module fails `dagger functions` lint — OTel version skew in generated internal/telemetry client
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- go
- Domain
- build-system, devops
Research direction
Start in hugo/internal/telemetry/transform.go and hugo/go.mod, then reproduce the failure with go build ./... from hugo/. Compare the generated telemetry API with the resolved OpenTelemetry versions and choose the consistent regeneration or dependency-alignment path. Done means the build passes and dagger functions (hugo) lint is green.
Written by the indexing model from the issue text.
Description
Problem
The hugo module does not compile: its checked-in generated client hugo/internal/telemetry/transform.go was generated against an older OpenTelemetry SDK, but hugo/go.mod now resolves a newer go.opentelemetry.io/otel/sdk/log. The interface signatures no longer match.
go build ./... in hugo/:
# dagger/hugo/internal/telemetry
internal/telemetry/transform.go:69:29: cannot use res (variable of type *resource.Resource) as resource.Resource value in argument to ResourceToPB
internal/telemetry/transform.go:957:25: cannot use processor (variable of type *collectLogProcessor) as "go.opentelemetry.io/otel/sdk/log".Processor value in argument to sdklog.WithProcessor: *collectLogProcessor does not implement "go.opentelemetry.io/otel/sdk/log".Processor (wrong type for method Enabled)
have Enabled(context.Context, "go.opentelemetry.io/otel/sdk/log".Record) bool
want Enabled(context.Context, "go.opentelemetry.io/otel/sdk/log".EnabledParameters) bool
internal/telemetry/transform.go:999:26: cannot use (*collectLogProcessor)(nil) ... (same Enabled mismatch)
i.e. the generated collectLogProcessor implements the old Enabled(ctx, Record) signature, while the resolved otel/sdk/log interface wants Enabled(ctx, EnabledParameters).
Why it's not visible on main
The dagger functions (hugo) CI job only runs when the hugo module changes (gated by the "Detect changed modules" job). Since hugo hasn't been touched, the broken build never runs on main. It surfaced while pinning base images (#288 follow-up): a one-line change to hugo/merge.go triggered the hugo lint job, which failed on the pre-existing breakage — see PR #293, where the hugo change was dropped to keep the PR green.
Reproduce
cd hugo
go build ./... # fails as above
Notes / attempted fix
dagger developinhugo/only updatedgo.mod/go.sum(engine already at the pinnedv0.20.8) and did not regenerateinternal/telemetry, so the build still fails.hugo/go.modhasreplacedirectives pinning the otlplog /otel/sdk/log/otel/loglibs tov0.16.0, but therequireblock listsv0.17.0— this version skew is the likely root cause; the generated code targets one and the resolved graph the other.
Suggested fix (one of)
- Regenerate the
hugointernal client against an engine whose generated telemetry matches the resolvedotel/sdk/logAPI. - Align
hugo/go.mod— make theotel/sdk/log(+ related otlplog /otel/log)requireversions and thereplacedirectives consistent socollectLogProcessor.Enabledmatches the resolved interface.
Acceptance
go build ./...passes inhugo/.dagger functions (hugo)lint is green.- Follow-up: the deferred
hugo/merge.gobase-image pin (alpine:latest->alpine:3.21, see #288) can then land.
Context
- Surfaced by #288 / PR #293.
- Same
From("alpine:latest")pinning is still pending inhugo/merge.go, blocked on this.
- Dominant language
- Go
- Stars
- 3
- Forks
- 0
- Avg merge
- 21h 53m
- Merged PRs (30d)
- 26
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stuttgart-things/dagger
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
stuttgart-things/dagger#311 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
stuttgart-things/dagger#400 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
stuttgart-things/dagger#386 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 48/100
stuttgart-things/dagger#385 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
stuttgart-things/dagger#262 · 3 comments ·
Maintainers usually reply within 1 day
All issues in stuttgart-things/dagger
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
blinklabs-io/dingo#5636 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
JetBrains/youtrack-cli#130 ·
Maintainers usually reply within 1 day
-
kind/bug needs-triage sig/release
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
kubernetes/kubernetes#143392 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 61/100
Maintainers usually reply within 1 day
-
stage-fail
Difficulty 1/5 Under an hour Newbie friendliness 72/100
siyuan-note/bazaar#2405 ·
Maintainers usually reply within 1 day