Skip to content

Quality pass: build system & infrastructure#95

Merged
dhilgaertner merged 1 commit intomainfrom
feature/crow-76-quality-pass-build-infra
Apr 6, 2026
Merged

Quality pass: build system & infrastructure#95
dhilgaertner merged 1 commit intomainfrom
feature/crow-76-quality-pass-build-infra

Conversation

@dhilgaertner
Copy link
Copy Markdown
Contributor

Summary

  • Fix error masking in build-ghostty.sh: replace blanket || true on zig build with proper exit code capture, add cleanup trap, guard artifact copies with explicit file checks
  • Add VERSION file as single source of truth for app version (read by bundle.sh and generate-build-info.sh)
  • Add make test target and shellcheck CI job; expand test job to discover all packages with tests
  • Align mise.toml build task to use make build; expand CONTRIBUTING.md with build/test guidance

Related Issue

Closes #76

Changes

  • scripts/build-ghostty.sh — Error handling, cleanup trap, fragility comments, cp/ranlib fixes, header docs
  • scripts/bundle.sh — Binary validation, version from VERSION file, header docs, icon TODO
  • scripts/generate-build-info.sh — Version from VERSION file, emits BuildInfo.version, header docs
  • VERSION (new) — Single source of truth for app version (0.1.0)
  • Makefile — Add test target (loops over packages with Tests/ dirs), update help
  • mise.toml — Align build task to make build
  • .github/workflows/ci.yml — Multi-package test loop, shellcheck lint job
  • CONTRIBUTING.md — Expand test/build documentation

Testing

  • make test passes (3 CrowCore tests)
  • make help shows updated targets
  • All scripts have proper headers and error handling

Checklist

  • Code follows existing patterns in the codebase
  • No unrelated changes included

🤖 Generated with Claude Code

@dhilgaertner dhilgaertner requested a review from dgershman as a code owner April 5, 2026 22:53
- Fix error masking in build-ghostty.sh: replace blanket `|| true` on zig
  build with proper exit code capture; add cleanup trap for temp files;
  guard WUFFS/SIMD copies with explicit file checks; fix ranlib stderr
- Add VERSION file as single source of truth for app version; read it in
  bundle.sh and generate-build-info.sh (emits BuildInfo.version)
- Add binary existence check in bundle.sh before bundling
- Add `make test` target that discovers all packages with Tests/ dirs
- Align mise.toml build task to use `make build` instead of raw swift build
- Expand CI: test job loops over all packages; add shellcheck lint job
- Expand CONTRIBUTING.md with make test docs and make build guidance
- Add header comments to all build scripts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@dhilgaertner dhilgaertner force-pushed the feature/crow-76-quality-pass-build-infra branch from f801f5e to 33f2616 Compare April 6, 2026 02:32
@dhilgaertner dhilgaertner merged commit b78272c into main Apr 6, 2026
3 checks passed
@dhilgaertner dhilgaertner deleted the feature/crow-76-quality-pass-build-infra branch April 6, 2026 02:37
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.

Quality Pass: Build System & Infrastructure

1 participant