Skip to content

chore: upgrade docker base image - #7402

Open
robertolopezlopez wants to merge 1 commit into
mainfrom
chore/CLI-1840
Open

robertolopezlopez wants to merge 1 commit into
mainfrom
chore/CLI-1840

Conversation

@robertolopezlopez

@robertolopezlopez robertolopezlopez commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Pull Request Submission Checklist

  • Follows CONTRIBUTING guidelines
  • Commit messages
    are release-note ready, emphasizing
    what was changed, not how.
  • Includes detailed description of changes
  • Contains risk assessment (Low | Medium | High)
  • Highlights breaking API changes (if applicable)
  • Links to automated tests covering new functionality
  • Includes manual testing instructions (if necessary)
  • Updates relevant GitBook documentation (PR link: ___)
  • Includes product update to be announced in the next stable release notes

What does this PR do?

Where should the reviewer start?

How should this be manually tested?

What's the product update that needs to be communicated to CLI users?

Risk assessment (Low | Medium | High)?

Medium. The change bullseye->bookworm brings a FIX compatibility change. Bookworm requires GLIBC 2.34 and fails on tested GLIBC 2.31. Alpine and static builds are not affected. Still, the E2E pipeline does not show FIPS errors:


Note

Medium Risk
Bookworm raises glibc (2.34) and shifts JVM/Maven/sbt tooling for all Linux Docker CI builds and FIPS-linked images; release pipelines were exercised but runtime compatibility on older distros is the main concern.

Overview
Upgrades CI and test Docker images from Debian Bullseye to Bookworm and rolls CircleCI to freshly built snyklabs/cli-build-private tags (20261023-095136 on amd64/arm64).

The main build image (.circleci/Dockerfile) and proxy test image (scripts/environments/proxy/Dockerfile) drop apt maven in favor of SDKMAN: jvm-install.sh now picks Temurin Java 17 more reliably, sets the default JDK, installs Maven 3.6.3, and pins sbt to 1.12.11 (noted as required after Bookworm). Maven is added to PATH in both Dockerfiles.

create-build-image.sh tightens Go version extraction by anchoring the go_version: grep in .circleci/config.yml.

Reviewed by Cursor Bugbot for commit 22bf109. Bugbot is set up for automated code reviews on this repo. Configure here.

@snyk-io

snyk-io Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues
✅ Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@robertolopezlopez
robertolopezlopez force-pushed the chore/CLI-1840 branch 13 times, most recently from 2579c3b to 27ae121 Compare October 27, 2026 11:17
@robertolopezlopez
robertolopezlopez marked this pull request as ready for review October 27, 2026 11:35
@robertolopezlopez
robertolopezlopez requested review from a team as code owners October 27, 2026 11:35
@snyk-pr-review-bot

This comment has been minimized.

Comment thread .circleci/Dockerfile
# install java & scala
RUN curl -s "https://get.sdkman.io" | bash
RUN scripts/jvm-install.sh
ENV PATH=/home/circleci/.sdkman/candidates/gradle/current/bin:/home/circleci/.sdkman/candidates/scala/current/bin:/home/circleci/.sdkman/candidates/sbt/current/bin:/home/circleci/.sdkman/candidates/java/current/bin:$PATH

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

change needed to pin maven 3.6.3

RUN curl -s "https://get.sdkman.io" | bash
RUN /app/scripts/jvm-install.sh
ENV PATH=/home/circleci/.sdkman/candidates/scala/current/bin:/home/circleci/.sdkman/candidates/sbt/current/bin:/home/circleci/.sdkman/candidates/java/current/bin:$PATH
ENV PATH=/home/circleci/.sdkman/candidates/maven/current/bin:/home/circleci/.sdkman/candidates/scala/current/bin:/home/circleci/.sdkman/candidates/sbt/current/bin:/home/circleci/.sdkman/candidates/java/current/bin:$PATH

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

change needed to pin maven 3.6.3

Comment thread scripts/jvm-install.sh

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

changes in this file are required to pin java 17

Comment thread scripts/environments/proxy/Dockerfile Outdated

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.

@robertolopezlopez should here also be changed to bookworm?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

probably YES!

Comment thread .circleci/Dockerfile
# Using debian:bullseye instead of golang:X-bookworm to avoid glibc compatibility issues
FROM debian:bullseye
# Use Bookworm for compatibility with pinned OpenSSL/FIPS libraries; verify runtime compatibility before repinning.
FROM debian:bookworm

@octavian-snyk octavian-snyk Oct 27, 2026 •

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.

why not trixie? bookworm is already more than 3 years old.

@robertolopezlopez robertolopezlopez Oct 27, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

trixie was giving problems in tests, because of its higher glibc version. Bookworm has v2.34 v2.36 and FIPS requires v2.34

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I finally managed to solve those Trixie errors. Still, this requires an upgrade of glibc to 2.38 vs. 2.34 in Bookworm... which is more difficult to defend

@snyk-pr-review-bot

Copy link
Copy Markdown

PR Reviewer Guide 🔍

🧪 PR contains tests
🔒 No security concerns identified
⚡ No major issues detected
📚 Repository Context Analyzed

This review considered 8 relevant code sections from 6 files (average relevance: 0.66)

🤖 Repository instructions applied (from AGENTS.md)

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.

3 participants