Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,4 @@ make pre-commit # All hooks

- Viper binds lowercase flag names but reads UPPERCASE env vars (e.g., `slack_token` -> `SLACK_TOKEN`)
- Config files read relative to CWD (container WORKDIR `/qe-tools`); OCI download hardcodes `quay.io/` — other registries rejected
- Go version mismatch: `go.mod`=1.21, CI=1.22, Dockerfile UBI9 go-toolset varies by tag
- Go version mismatch: `go.mod`=1.22, CI=1.22, Dockerfile UBI9 go-toolset varies by tag
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,4 @@ Scans GCS bucket structure for Prow job artifacts. Maps step names to artifact f
- **Regex match safety**: Functions parsing text with regex should always validate the match result length before accessing capture group indices -- `FindStringSubmatch` returns nil on no match
- **Fallthrough in match functions**: Functions that iterate over a set of conditions and return on the first match should handle the case where nothing matches
- **pre-commit hooks run full test suite**: `go-test-mod` in `.pre-commit-config.yaml` runs all tests on every commit, which can be slow
- **Go version mismatch**: `go.mod` says 1.21, CI uses 1.22, Dockerfile uses UBI9 go-toolset (Go version varies by tag)
- **Go version mismatch**: `go.mod` says 1.22, CI uses 1.22, Dockerfile uses UBI9 go-toolset (Go version varies by tag)
4 changes: 2 additions & 2 deletions skills/ci-cd-quirks/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Three different Go versions are in play:

| Location | Go Version | Source |
|----------|-----------|--------|
| `go.mod` | 1.21 | Module minimum compatibility |
| `go.mod` | 1.22 | Module minimum compatibility |
| CI (`test.yml`, `lint.yml`) | 1.22 | `actions/setup-go` in workflows |
| Dockerfile | Varies | UBI9 `go-toolset` (version depends on tag) |

**Consequence**: Code may compile locally with Go 1.22 features but fail in the container if the UBI9 image ships an older Go. Stick to Go 1.21 language features unless `go.mod` is bumped.
**Consequence**: Code may compile locally with Go 1.22 features but fail in the container if the UBI9 image ships an older Go. Stick to Go 1.22 language features unless `go.mod` is bumped.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] documentation consistency

The consequence text says 'Stick to Go 1.22 language features unless go.mod is bumped' which is self-consistent, but the same sentence warns UBI9 may ship an older Go — meaning Go 1.22 features could still fail in the container, contradicting the advice.

Suggested fix: Clarify that while go.mod permits 1.22 features, developers should verify the UBI9 go-toolset version supports them before relying on 1.22-specific syntax.


## Quirk 2: Pre-commit Runs Full Test Suite

Expand Down
2 changes: 1 addition & 1 deletion skills/debugging-cli-locally/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,5 @@ make pre-commit
| `panic: index out of range` | Regex `FindStringSubmatch` returned nil, code accessed `[1]` | Check `len(matches)` before indexing |
| `GITHUB_TOKEN must be set` | Env var not exported | `export GITHUB_TOKEN="$YOUR_TOKEN"` |
| `golangci-lint` ignores config | Config is `.golang-ci.yml` not `.golangci.yml` | Use `make lint` or `-c .golang-ci.yml` |
| Tests pass locally, fail in CI | Go version mismatch (local 1.22, go.mod 1.21) | Avoid 1.22-only features |
| Tests pass locally, fail in CI | Go version mismatch (local 1.22, go.mod 1.22) | Check Dockerfile UBI9 go-toolset version |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] technical accuracy in documentation

After the PR, the Cause column reads 'Go version mismatch (local 1.22, go.mod 1.22)' but both versions are identical, so 'mismatch' is self-contradictory. The actual mismatch is between local/CI Go 1.22 and the Dockerfile UBI9 go-toolset which may ship an older version.

Suggested fix: Change the Cause column to something like 'Go version mismatch (local/CI 1.22, UBI9 container may differ)' to accurately describe where the mismatch occurs.

| `permission denied` on binary | Built binary not executable | `chmod +x qe-tools` or use `go run` |
Loading