QD-14979: pin dhi.io/golang base to a dlopen-safe digest - #974
Draft
Anna Zhukova (bindreams) wants to merge 1 commit into
Draft
QD-14979: pin dhi.io/golang base to a dlopen-safe digest#974Anna Zhukova (bindreams) wants to merge 1 commit into
Anna Zhukova (bindreams) wants to merge 1 commit into
Conversation
Qodana for Go114 new problems were found
@@ Code coverage @@
+ 65% total lines covered
10664 lines analyzed, 6959 lines covered
# Calculated according to the filters of your coverage tool☁️ View the detailed Qodana report Contact Qodana teamContact us at qodana-support@jetbrains.com
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes QD-14979.
qodana-gonightlies fail to start the bundled JBR:Root cause
The DHI
golang:1.26.3-debian13-devbaked intogo-base-latest(2026-05-21) shipslibz.so.1built-z nodlopen(DF_1_NOOPEN). The IDE launcher starts the JVM bydlopen-inglibjvm, and the JVM thendlopenslibzip.soat runtime → which pulls inlibz.so.1→ glibc refuses todlopena NOOPEN object. (Barebin/javaworks — it loadslibzat startup as aDT_NEEDED, never viadlopen, which is why this looked JBR-specific but is purely a base-image defect.) DHI cleared the flag in1.26.4; stockdebian:trixiewas never NOOPEN. The base floated silently onto the bad image because the1.26-debian13-devtag was unpinned.Fix
go.Dockerfile— pinGO_TAGto the known-good multi-arch digest (@sha256:17e7e33c…, NOOPEN-clear). On merge,base.ymlrebuilds & pushesgo-base-lateston this digest → the nextQodanaGoNightlyis green.renovate.json— add adhi.iohostRulesblock so Renovate authenticates (read-only Docker Hub OAT) and keeps the pinned digest fresh.Add two repository secrets in the Mend Developer Portal (developer.mend.io →
JetBrains/qodana-cli→ Credentials), as plaintext:DHI_USERNAMEDHI_PASSWORDdhi.iorepos Renovate reads — at leastgolang)A missing secret only fails
dhi.ioauth (no repo-wide config break), but provisioning before merge means Renovate's digest-bump PRs start working immediately.Verified
docker runexit 0, nolibziperror, full analysis ran to completion.renovate-config-validatorpasses;hostRules+{{ secrets.* }}accepted. Renovate substitutes{{ secrets.* }}intousername(confirmed from source) and digest auto-update is on by default for an already-pinnedtag@sha256underconfig:base.sha256:17e7e33c…is an OCI image index coveringlinux/amd64+linux/arm64.Out of scope / follow-ups
hostRulesalready fixes their Renovateno-resultlookups as a side effect.config:baseis deprecated (→config:recommended); a CIrenovate-config-validatorstep could be added.