Repository navigation
[Sprint] sprint-loop-31 - #27
Merged
Merged
Conversation
…mages blanks SUR-2176: grep/sed use [[:space:]] for declare -f doc lines (BSD grep). SUR-2170: replace malformed http:# Apache license URL with https:// in bash/. SUR-2171: declare pod_sname local in k8s-support-collector logs(). SUR-2173: skip blank and whitespace-only lines in release-images IMAGES_FILE. SUR-2177: add K8S_SUPPORT_COLLECTOR_SOURCE_ONLY seam for isolated bats. test: add bats for release-images and k8s-support-collector SUR-2177: options, logs local scope, create_package naming via source seam. SUR-2178: SIMULATE/dry-run and IMAGES_FILE blank-line filtering.
scealiontach
force-pushed
the
sprint/2026-05-03-sprint-loop-31
branch
from
May 3, 2026 05:16
ac19639 to
119833d
Compare
scealiontach
marked this pull request as ready for review
May 3, 2026 05:19
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.
Sprint plan — 2026-05-03 — sprint-loop-31
Sprint goal
Raise reliability of operator-facing scripts and generated docs: fix a non-portable
bashadocextraction path that can silently drop@doc/@argon BSD/macOS grep, correct widespread Apache 2.0 header URLs underbash/, close two high-severity behavioral bugs ink8s-support-collectorandrelease-images, and lock in regression coverage forrelease-imagesandk8s-support-collectorso CI and local runs stay aligned with Linux and non-GNU environments.Selected issues
SUR-2176 — Anti-pattern: bashadoc uses grep
\s*for @doc/@arg lines (non-portable)\s*for @doc/@arg lines (non-portable)bash/bashadocfiltersdeclare -fwithgreppatterns using\s*for leading whitespace before@doc/@arg. POSIX/BSD grep does not treat\slike GNU grep; doc extraction can fail on macOS while CI on Linux passes.bashadocoutput and downstream packaging.@docand@argdetection uses a POSIX-safe pattern (e.g.^[[:space:]]*@doc/@arg) or documentedgrep -Ewith explicit character classes.pre-commit/shellcheckclean for touched regions.bash/bashadocon a known file).SUR-2170 — Docs: Apache 2.0 license comment blocks use malformed URL
http:#www.apache.org/...http:#www.apache.org/...bash/*files usehttp:#www.apache.org/licenses/LICENSE-2.0instead of a validhttps://(orhttp://) URL in the standard Apache header block.bash/headers usehttps://www.apache.org/licenses/LICENSE-2.0(or repo-agreed SPDX-only alternative if explicitly chosen and consistent).http:#www.apache.orgtypo in trackedbash/sources targeted by the issue.bashadocheaders, to reduce churn ordering (optional).SUR-2171 — Bug: k8s-support-collector
logs()setspod_snamewithoutlocallogs()setspod_snamewithoutlocallogs(),pod_snameis assigned withoutlocal, leaking into global shell scope during collection runs.pod_snameis scoped withlocal(or equivalent safe reuse) before use inbash/k8s-support-collector.SUR-2173 — Bug: release-images IMAGES_FILE mode passes blank lines to docker::pull / docker::cp
-f IMAGES_FILEpath usesgrep -v '^ *#'only; blank and whitespace-only lines reachdocker::pull/docker::cpas malformed refs.greppipeline orreaddiscipline).SUR-2178 — Test: add bats coverage for release-images
tests/release-images.batswithSIMULATE=true, stubbeddocker::*functions, assertions on flags and file-driven loops; references SUR-2173-class bugs.tests/release-images.batsfollowingsetup() { load 'helpers.bash'; helpers::isolate_home; }and existing bats patterns.SIMULATE/DRY_RUN, andIMAGES_FILEloop including blank-line / comment behavior per SUR-2173 fix.tests/bats/bin/bats tests/release-images.batspasses;make test_batsormake testpasses as appropriate.SUR-2177 — Test: add bats coverage for k8s-support-collector
bash/k8s-support-collector: options,OUT_DIR, tarball naming; mockk8s::,exec,dirsvia stubs underBATS_TEST_TMPDIR.tests/k8s-support-collector.batswith isolated home and stubs per repo helpers conventions.make test).Risks + mitigations
tests/docker.bats/registry-cp.batspatterns; isolatePATHand temp dirs.k8s::as issue describes.Out of scope
Linear Evidence
ce9ebfde-ff2b-4f54-90f1-c388591ca110, keySUR)a43901a0-b02b-4009-aae1-a6e8903d127d)list_issueswithproject=shell-scripts,state=Backlog,team=Surinis,limit=250,includeArchived=false; per-issueget_issuewithincludeRelations=true;list_commentsper candidate;list_issueswithparentId=<each candidate>to confirm no blocking sub-issue trees.[][](open PR file list was empty)Sub-issue Status
No candidate or selected issue in project shell-scripts had Linear child issues under
parentIdqueries (all parent sub-queries returned empty). No parent was skipped for incomplete sub-issues.Linear State Transitions