fix(examples): combine cost export dependency updates - #5958
fix(examples): combine cost export dependency updates#5958Artur Khantimirov (r2k1) wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The intentional Testcontainers version skew should be documented inline in go.mod to avoid accidental reversion and reintroducing the build break.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR updates the examples/cost-analysis-export Go module dependencies and build image to resolve the archive.Compression compilation failure while consolidating prior dependency bumps.
Changes:
- Bump key dependencies (including
github.com/moby/go-archive,golang.org/x/crypto, and Testcontainers core) and refresh transitive versions viago.mod/go.sum. - Raise the module’s Go version to
1.25.0. - Update the build stage base image to
golang:1.25-bookwormfor Debian 12 alignment.
File summaries
| File | Description |
|---|---|
| examples/cost-analysis-export/go.mod | Raises Go version and updates direct/indirect module requirements (including Testcontainers core). |
| examples/cost-analysis-export/go.sum | Synchronizes sums with the updated module graph. |
| examples/cost-analysis-export/Dockerfile | Updates builder base image to Go 1.25 on Debian bookworm (Debian 12). |
Review details
- Files reviewed: 2/3 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Pin the latest stable Go 1.25 patch in the module and builder. Keep Bookworm for compatibility with the Debian 12 CGO runtime. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The changes are limited to dependency/toolchain updates in an examples module and appear internally consistent with the updated go.mod/go.sum and Docker build configuration.
Review details
- Files reviewed: 2/3 changed files
- Comments generated: 0 new
- Review effort level: Lite
Co-authored-by: sjwaight <4828246+sjwaight@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The changes are limited to dependency/toolchain pinning and are internally consistent with the stated goal of avoiding the archive.Compression build break.
Review details
- Files reviewed: 2/3 changed files
- Comments generated: 0 new
- Review effort level: Lite
Summary
Combines the updates from #5923 and #5895 without the
archive.Compressioncompilation failure.github.com/moby/go-archivefrom v0.1.0 to v0.3.0 andgolang.org/x/cryptofrom v0.45.0 to v0.52.0, with their required transitive dependencies.archive.Compressiontype. Version v0.38.0 importsmoby/go-archivedirectly. Keep the Azure module at v0.37.0 and Docker at v28.3.3.golang:1.25.14-bookworm. Keep Go on the requested 1.25 release line; pinning Debian 12 keeps the CGO SQLite binary compatible withdistroless/base-debian12.No application or test source changes. This is a replacement for the two dependency PRs; neither original branch is modified or closed. The Go patch update leaves all dependency versions and
go.sumunchanged.Validation
GOTOOLCHAIN=go1.25.14 go mod tidyproduced no dependency changes, andGOTOOLCHAIN=go1.25.14 go mod verifypassed.DOCKER_HOST=unix:///var/run/docker.sock TESTCONTAINERS_RYUK_DISABLED=true GOTOOLCHAIN=go1.25.14 go test ./... -count=1 -vpassed the complete suite, including real-data export, SQLite joins, compressed input, and EA/MCA/FOCUS schemas against Azurite 3.34.0.GOTOOLCHAIN=go1.25.14 CGO_ENABLED=1 go build -tags sqlite3passed.podman manifest inspect docker.io/library/golang:1.25.14-bookwormconfirmed the exact image tag exists, including linux/amd64 and linux/arm64. Runninggo versionin that image reportedgo1.25.14 linux/arm64.podman buildpassed for the production Dockerfile on linux/arm64.mergereached the expected missing-configuration error, confirming that the binary loads in the runtime image. This startup check is not an authenticated Azure end-to-end run.Local tests used rootless Podman. Ryuk was disabled only for the test invocation because its Docker
bridgenetwork assumption does not match Podman. The existingTestMainstopped and removed the Azurite container. Task images and the generated database were removed, and the Podman VM was restored to its original stopped state.