Skip to content

Pin Dockerfile base images by digest and drop the stale bcq test image - #691

Open
jeremy wants to merge 1 commit into
mainfrom
secA-scorecard
Open

Pin Dockerfile base images by digest and drop the stale bcq test image#691
jeremy wants to merge 1 commit into
mainfrom
secA-scorecard

Conversation

@jeremy

@jeremy jeremy commented Sep 9, 2026

Copy link
Copy Markdown
Member

Closes out the Scorecard PinnedDependencies alerts that point at Dockerfiles. The other open Scorecard alerts were triaged separately (dismissals with reasons, one card for the branch-protection/code-review policy decision); this PR only carries the code changes.

Alerts

Alert Rule Location Verdict Change
#101 PinnedDependenciesID Dockerfile:10 (golang:1.26-alpine) Fix Pinned to the current multi-arch index digest sha256:ce864e72…
#102 PinnedDependenciesID Dockerfile:38 (distroless/static-debian12:nonroot) Fix Pinned to sha256:afa5c872…
#103 PinnedDependenciesID Dockerfile.test:1 Fix by removal File built ./cmd/bcq and set BCQ_NO_KEYRING; neither exists since the rename, so the image could not build. Deleted along with docker-compose.test.yml, its only consumer.

Digests were resolved from the registries directly (Docker Hub and gcr.io manifest-list Docker-Content-Digest) and match Scorecard's suggested pins.

Keeping the pins fresh

Digest pins go stale unless something moves them, so .github/dependabot.yml gains a docker ecosystem entry mirroring the existing gomod/actions cadence (weekly, grouped, 10-day cooldown). Dependabot rewrites image:tag@sha256:… lines when the tag advances.

The Dockerfile header also loses two stale claims: it pointed at a Dockerfile.goreleaser that does not exist (.goreleaser.yaml has no dockers: stanza) and described the SDK as private.

Verification

  • docker build . on the pinned Dockerfile succeeds; docker run --rm <image> version prints basecamp version dev (built from source).
  • make check: fmt-check, vet, lint, lint-actions, test-e2e, check-naming, check-surface, check-skill-drift, check-bare-groups, check-lint-lockstep, check-smoke-coverage, provenance-check, tidy-check all pass. make test shows only the known TTY-gated failures (TestIsInteractive*, TestInteractive*, TestIsTerminal, TestDeleteConfirmable…, TestBareBasecamp…, TestExplicitSetup…), which do not touch this diff (no Go changes).
  • govulncheck ./... and govulncheck -tags dev ./...: no reachable vulnerabilities.

Summary by cubic

Pins both Dockerfile base images by digest to close Scorecard PinnedDependencies alerts, and deletes the stale Dockerfile.test/docker-compose.test.yml that referenced removed cmd/bcq and BCQ_NO_KEYRING.

  • Adds a Dependabot docker ecosystem entry so digest pins stay fresh with tag updates.
  • Strips outdated Dockerfile header comments about a nonexistent Dockerfile.goreleaser and a private SDK.

Written for commit 959ab8e. Summary will update on new commits.

Review in cubic

…st image

Dockerfile.test and docker-compose.test.yml still built ./cmd/bcq and set
BCQ_NO_KEYRING, neither of which has existed since the rename, so the
image could not build. Remove them rather than pin them.

Pin the remaining Dockerfile's golang and distroless images to their
current multi-arch digests and register the docker ecosystem with
Dependabot so the pins move with the tags instead of going stale.
Copilot AI balanced review requested due to automatic review settings September 9, 2026 22:46
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T22:49:11.130361Z 959ab8e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added the ci CI/CD workflows label Sep 9, 2026

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 pins are valid multi-platform references, obsolete files have no remaining consumers, and Dependabot supports the added configuration.

Pull request overview

Pins Docker base images, removes obsolete test-container files, and configures Dependabot to maintain image digests.

Changes:

  • Pin builder and runtime images by digest.
  • Remove stale bcq Docker test setup.
  • Add weekly Docker dependency updates.

[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

File summaries
File Description
Dockerfile Pins base images and updates stale guidance.
Dockerfile.test Removes the obsolete test image.
docker-compose.test.yml Removes the test image’s sole consumer.
.github/dependabot.yml Adds Docker digest maintenance.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jeremy jeremy closed this Sep 9, 2026
@jeremy jeremy reopened this Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants