• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jyablonski / arc / 27389251114
74%

Build:
DEFAULT BRANCH: main
Ran 12 Jun 2026 01:50AM UTC
Jobs 1
Files 74
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Jun 2026 01:49AM UTC coverage: 74.605% (+6.2%) from 68.436%
27389251114

push

github

web-flow
chore: replace global shell mock with per-package moq seams (#24)

## Description

Retires the global `shell.MockRunner` singleton in favor of per-package
typed seams (`var run boundary.ShellRunner = boundary.DefaultShell`), so
each package mocks the shell boundary it actually owns and tests swap a
moq double instead of mutating shared global state. Adds the missing moq
stubs and folds the standalone quality workflow into the main CI
pipeline.

### Added

- Per-package `runner.go`/`seam_test.go` seams wiring
`boundary.ShellRunner` with a test swap helper, plus generated
`*_moq.go` doubles (pkgmgr, aws, hardware, setupdeps, syscontrol, ai
history, etc.).
- `internal/aws/rotate.go` extraction with unit tests, moving the
key-rotation logic out of `cmd/aws.go` for deterministic testing.
- `quality` job in `ci-cd.yaml` running gofmt, goimports, golangci-lint,
and deadcode on every push/PR.

### Updated

- Call sites swapped from the `shell.X` global to the package-local
`run.X` seam across `cmd/` and `internal/`.
- `pacmanOps` generate directive uses `moq -fmt goimports` so generated
imports pass the goimports CI check without a separate format step.

### Deleted

- `internal/shell/mock.go` global mock runner and the standalone
`quality-go.yaml` workflow.

185 of 252 new or added lines in 20 files covered. (73.41%)

17 existing lines in 4 files now uncovered.

3963 of 5312 relevant lines covered (74.6%)

5.63 hits per line

Uncovered Changes

Lines Coverage ∆ File
21
79.41
internal/aws/rotate.go
21
0.0
internal/pkgmgr/pacmanops.go
9
57.89
24.23% internal/ai/claude/token.go
3
16.13
12.51% cmd/aws.go
3
50.0
-50.0% internal/boundary/shell_default.go
3
41.07
0.0% internal/brew/brew.go
3
70.3
59.41% internal/hardware/hardware.go
2
13.27
13.27% internal/pkgmgr/darwin.go
1
77.78
0.0% cmd/update.go
1
78.89
66.67% internal/setupdeps/setupdeps.go

Coverage Regressions

Lines Coverage ∆ File
8
57.69
-27.16% internal/shell/exec.go
3
50.0
-50.0% cmd/git.go
3
50.0
-50.0% internal/boundary/shell_default.go
3
75.0
-12.5% internal/sysupdate/sysupdate.go
Jobs
ID Job ID Ran Files Coverage
1 27389251114.1 12 Jun 2026 01:50AM UTC 74
74.6
GitHub Action Run
Source Files on build 27389251114
  • Tree
  • List 74
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • e65d9c4b on github
  • Prev Build on main (#27246540356)
  • Next Build on main (#27470952438)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc