Skip to content

fix(examples): combine cost export dependency updates - #5958

Open
Artur Khantimirov (r2k1) wants to merge 3 commits into
masterfrom
r2k1-combined-cost-export-updates
Open

fix(examples): combine cost export dependency updates#5958
Artur Khantimirov (r2k1) wants to merge 3 commits into
masterfrom
r2k1-combined-cost-export-updates

Conversation

@r2k1

@r2k1 Artur Khantimirov (r2k1) commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Combines the updates from #5923 and #5895 without the archive.Compression compilation failure.

  • Update github.com/moby/go-archive from v0.1.0 to v0.3.0 and golang.org/x/crypto from v0.45.0 to v0.52.0, with their required transitive dependencies.
  • Update Testcontainers core from v0.37.0 to v0.38.0. The older version imports Docker's deprecated archive package, which references the removed archive.Compression type. Version v0.38.0 imports moby/go-archive directly. Keep the Azure module at v0.37.0 and Docker at v28.3.3.
  • Set the module's Go version to 1.25.14, the latest stable 1.25.x patch listed in the official Go download archive on September 9, 2026. Pin the builder to golang:1.25.14-bookworm. Keep Go on the requested 1.25 release line; pinning Debian 12 keeps the CGO SQLite binary compatible with distroless/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.sum unchanged.

Validation

  • GOTOOLCHAIN=go1.25.14 go mod tidy produced no dependency changes, and GOTOOLCHAIN=go1.25.14 go mod verify passed.
  • DOCKER_HOST=unix:///var/run/docker.sock TESTCONTAINERS_RYUK_DISABLED=true GOTOOLCHAIN=go1.25.14 go test ./... -count=1 -v passed 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 sqlite3 passed.
  • podman manifest inspect docker.io/library/golang:1.25.14-bookworm confirmed the exact image tag exists, including linux/amd64 and linux/arm64. Running go version in that image reported go1.25.14 linux/arm64.
  • podman build passed for the production Dockerfile on linux/arm64.
  • Running the resulting Debian 12 image with merge reached 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 bridge network assumption does not match Podman. The existing TestMain stopped and removed the Azurite container. Task images and the generated database were removed, and the Podman VM was restored to its original stopped state.

Update go-archive and x/crypto together. Use Testcontainers core 0.38\nto avoid Docker's obsolete archive.Compression alias.\n\nKeep the Go 1.25 builder on Debian 12 for CGO runtime compatibility.\n\nRefs #5923, #5895

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 via go.mod/go.sum.
  • Raise the module’s Go version to 1.25.0.
  • Update the build stage base image to golang:1.25-bookworm for 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.

Comment thread examples/cost-analysis-export/go.mod Outdated
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>
Copilot AI review requested due to automatic review settings September 9, 2026 01:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants