Repository navigation
v0.7.8
Summary
Phase 11: CI & Tooling Polish
Goal: Restore Codecov coverage reporting, bump all GitHub Actions to current stable versions, add golangci-lint enforcement, and make the Homebrew formula handle plugin symlink lifecycle automatically on install and uninstall.
Status: Verified ✓ (13/13)
This release hardens the CI/CD pipeline and developer tooling: Codecov is wired up, GitHub Actions versions are current (managed by Dependabot going forward), brew install now auto-creates the Docker CLI plugin symlink, and make lint enforces code quality via golangci-lint.
Changes
Plan 11-01: Codecov Coverage Reporting
Wire Codecov coverage reporting into the CI pipeline and fix the README badge.
Key files:
codecov.yml— minimal config;comment.require_changes: true, auto target.github/workflows/ci.yml— test job runs with-coverprofile; Codecov upload step (tokenless,fail_ci_if_error: false)README.md— badge branch corrected from/main/to/master/
Plan 11-02: Remove FORCE Workaround + Add Dependabot
Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 from all workflows and configure Dependabot for weekly GHA version management.
Key files:
.github/workflows/ci.yml—FORCE_JAVASCRIPT_ACTIONS_TO_NODE24removed.github/workflows/release.yml—FORCE_JAVASCRIPT_ACTIONS_TO_NODE24removed.github/dependabot.yml— new;github-actionsecosystem, weekly, limit 5 PRs
Plan 11-03: Homebrew Symlink Lifecycle
Automate Docker CLI plugin symlink creation on brew install and removal on brew uninstall.
Key files:
.goreleaser.yaml—post_installcreates~/.docker/cli-plugins/docker-deploywithErrno::EPERMgraceful fallback for macOS Tahoe;custom_blockaddsdef uninstallusingFile.delete/File.exist?;caveats:removed
Note: macOS Tahoe (26.4.1) blocks symlink creation from post_install context at the OS level. The formula degrades gracefully with an actionable opoo warning. def uninstall works on all platforms.
Plan 11-04: golangci-lint CI Gate
Add linting config, Makefile targets, and a parallel CI lint job.
Key files:
.golangci.yml— new;disable-all: true; enabled:errcheck,govet,staticcheck,goimportsMakefile—lintandfmttargets.github/workflows/ci.yml— parallellintjob; installsgolangci-lint@v1.64.8, runsmake lint
Bug Fixes (post-phase quick tasks)
fix(health): detect exited containers inPollHealth—docker inspectexit status 1 on containers with noHEALTHCHECKdirective now handled correctlyfix(goreleaser): cosign not found in CI release pipeline — resolved
Verification
- Automated verification: PASS (13/13)
- All 5 success criteria met (3 overrides accepted with evidence)
- UAT: 8 passed, 3 minor issues documented
Compatibility
No breaking changes. Pure CI/tooling additions.