Skip to content

docs(docker-development): trim generic CI scaffolding, bump stale pins#39

Merged
CybotTM merged 2 commits into
mainfrom
chore/trim-generic-bloat
Jul 11, 2026
Merged

docs(docker-development): trim generic CI scaffolding, bump stale pins#39
CybotTM merged 2 commits into
mainfrom
chore/trim-generic-bloat

Conversation

@CybotTM

@CybotTM CybotTM commented Jul 11, 2026

Copy link
Copy Markdown
Member

Part of netresearch/skill-repo-skill#157. Ticks the docker-development-skill checkbox.

Rubric: netresearch/skill-repo-skill skills/skill-repo/references/skill-quality.md § "Body rules" / "When to split to references/" — content a one-line prompt regenerates (generic tutorials, restated public best practice, boilerplate) is a cut target; retro-born failure patterns, version/ecosystem facts, and inference-suppression rules are hard-protected.

Re-verification against current tree

Both audit-named targets still existed at origin/main (950264d) before this change:

  • skills/docker-development/SKILL.md Quick Reference pinned node:20-alpine and golang:1.22-alpine.
  • skills/docker-development/references/ci-testing.md (446 lines / 1897 words) carried multiple Problem/Solution tutorial sections restating public Docker/GH-Actions knowledge already summarized as one-liners in SKILL.md's own "CI Testing Gotchas" list.

What was cut (ci-testing.md, rubric test: one-line-prompt-regenerable)

  • Pattern 1 Entrypoint Bypass, Pattern 2 DNS Mocking, Pattern 3 Compose Validation, Pattern 5 Secret Scanning — each is a generic tutorial already condensed to one line in SKILL.md § CI Testing Gotchas (items 1-4); the reference-file elaboration added no gotcha beyond restating the technique.
  • Pattern 4's "Test Health Check Command" subsection — generic build/start/wait-loop/cleanup GH Actions boilerplate, no specific failure narrative.
  • Pattern 6 Multi-Platform Build Testing, Pattern 7 Integration Testing with Service Containers — standard docker/setup-qemu-action / services: copy-paste boilerplate, no incident behind it.
  • "Complete CI Workflow Example" (~55 lines) — restated patterns 1-3 verbatim as a full pipeline; nothing unique.

Net: 446 → 159 lines, 1897 → 1112 words (-785 words, -41%).

What was kept (retro-born, hard-protected)

  • Worker/Sidecar HEALTHCHECK inheritance incl. the pgrep [m]essenger:consume self-match trap (renumbered Pattern 1; commit bbe9274).
  • GitLab CI "image entrypoint must be a shell" sh -c gotcha (Pattern 2; commit 4b7e314).
  • Restricted runner egress / build-time asset bundling (Pattern 3; commit 4b7e314).
  • Built-image vs editable-install testing, __file__-relative data-path failure (Pattern 4; commit 4b7e314).
  • Bake target docker-metadata-action inheritance (Pattern 5; commit 6979edf).
  • "Local boot-test pitfalls" (port collision, foreground-log-to-file, distroless-no-shell, real-vs-benign log signals; commit b3aa6f7) — untouched.
  • Patterns were renumbered 1-5 for a contiguous sequence (no external anchors/links referenced the old numbering — verified by repo-wide grep).

docker-via-wsl skill content untouched — no changes needed there.

Stale pins (SKILL.md Quick Reference)

Verified via mcp__package-version__check_docker_tags:

  • node:20-alpinenode:24-alpine — Node 24 ("Krypton") is the current Active LTS (Docker Hub lts/lts-krypton tags resolve to 24.18.0); Node 26 is current only, not yet LTS.
  • golang:1.22-alpinegolang:1.26-alpine — 1.26.5 is latest stable; 1.27 is still RC (1.27rc2/1.27-rc tags only).

This is a version bump, not a content cut — the illustrative Dockerfile examples stay.

Kept, borderline

None — every remaining section in ci-testing.md traces to a specific commit documenting a real incident/gotcha (verified via git log --oneline -- skills/docker-development/references/ci-testing.md), so no borderline calls were needed.

Verification

$ wc -w skills/docker-development/SKILL.md
500 skills/docker-development/SKILL.md   # exactly at the repo's 500-word hard cap, unchanged

$ bash skill-repo-skill/skills/skill-repo/scripts/validate-skill.sh .
OK: SKILL.md is 500 words (under 500 limit)
Errors: 0
Warnings: 6   # pre-existing README-template warnings, unrelated to this change

$ skill-repo-skill/scripts/audit-skills.sh .
SKILL: docker-development — BODY: 430 words, 119 lines [PASS] — REFERENCES: 4 total -> 4/P1 reachable, 0 ORPHAN
SKILL: docker-via-wsl      — BODY: 370 words, 55 lines [PASS]  — REFERENCES: 1 total -> 1/P1 reachable, 0 ORPHAN
SUMMARY: 2 skills, 0 FAIL, 2 WARN, 0 INFO, 0 ORPHAN refs

$ pre-commit run --files skills/docker-development/SKILL.md skills/docker-development/references/ci-testing.md
trim trailing whitespace .... Passed
fix end of files ............ Passed
Validate skill repo structure Passed
Plugin/SKILL/composer version parity Passed
markdownlint-cli2 ............ Passed
(yaml/actionlint/ruff/shellcheck: no matching files, skipped)

$ grep -rn "node:20\|golang:1\.22" .   # repo-wide
none

$ grep -rn "ci-testing.md" . --include="*.md"   # reference table + AGENTS.md + README.md + docs/ARCHITECTURE.md
all still resolve — file trimmed in place, not deleted, no dangling refs

DO NOT MERGE.

ci-testing.md carried tutorial-level Problem/Solution walkthroughs for
entrypoint bypass, DNS mocking, compose validation, secret-scan
exclusions, generic health-check verification, multi-platform build
setup, and GH Actions service-container integration testing -- all
already one-line-summarized in SKILL.md's Quick Reference / CI Testing
Gotchas, and reproducible from a one-line prompt. Cut those plus the
Complete CI Workflow Example (which only restated the same patterns).

Kept every retro-born gotcha: worker/sidecar HEALTHCHECK inheritance
(pgrep self-match), GitLab CI entrypoint-must-be-shell, restricted
runner egress, built-image vs editable-install testing, bake target
metadata-action inheritance, and local boot-test pitfalls. Renumbered
the surviving patterns 1-5 for a contiguous sequence.

SKILL.md Quick Reference pinned node:20-alpine and golang:1.22-alpine;
bumped to node:24-alpine (current Active LTS, Krypton) and
golang:1.26-alpine (current stable; 1.27 is still RC).

Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request updates the Node.js and Go base image versions in the multi-stage build examples in SKILL.md, and refactors ci-testing.md by removing several testing patterns and referencing them in SKILL.md instead. The review feedback correctly identifies that the proposed image tags (node:24-alpine and golang:1.26-alpine) refer to unreleased, non-existent versions, and recommends pinning to the current stable releases (node:22-alpine and golang:1.24-alpine) to avoid build failures.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread skills/docker-development/SKILL.md
Comment thread skills/docker-development/SKILL.md
After trimming the generic tutorials, ci-testing.md holds retro-born
gotchas, not comprehensive patterns. Update the two catalog blurbs
(README, ARCHITECTURE) to match its new framing.

Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
@sonarqubecloud

Copy link
Copy Markdown

@CybotTM
CybotTM merged commit 4fb8d37 into main Jul 11, 2026
17 checks passed
@CybotTM
CybotTM deleted the chore/trim-generic-bloat branch July 11, 2026 14:55
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.

1 participant