Add GitHub Actions CI workflow for automated test execution on PRs#12
Merged
Add GitHub Actions CI workflow for automated test execution on PRs#12
Conversation
- Create .github/workflows/test-dotfiles.yml for automatic PR testing - Uses macOS runner with zsh shell to match target environment - Integrates with existing test/run-tests.zsh infrastructure - Smart path-based triggering (only runs for relevant file changes) - Includes test coverage verification and environment validation - Provides clear success/failure reporting in GitHub UI - Supports manual workflow dispatch for debugging - Update task roadmap with CI implementation status
- Change from `shell: zsh` to `shell: zsh {0}` format string approach
- GitHub Actions requires format string for non-built-in shells
- This resolves "Invalid shell option" error in CI workflow
- Maintains zsh environment while working with GitHub Actions constraints
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.
Summary
Add automated test execution on pull requests using GitHub Actions to provide visible test status in PR UI and catch issues early in the development process.
This workflow integrates seamlessly with our existing test infrastructure (
test/run-tests.zsh) and uses macOS runners with zsh to match our target environment exactly.UPDATE: Fixed GitHub Actions zsh shell configuration issue by using format string approach.
Changes
New Functionality
.github/workflows/test-dotfiles.yml: Comprehensive CI workflow for automated testingIntegration
test/run-tests.zshinfrastructure (no test rewrites needed)Testing
Code Quality Improvements
Documentation Updates
.claude/tasks/2025-07-06-setup-improvements.md: Updated with CI implementation statusBug Fixes
shell: zshtoshell: zsh {0}format string approachType of Change
Test Coverage
./test/run-tests.zshImplementation Notes
Key workflow features:
shell: zsh {0}format string for GitHub Actions compatibilitytest/run-tests.zshwithout modificationsPath-based triggering includes:
setup.zsh(main setup script)bin/**(all installation scripts)lib/**(utility libraries)test/**(test framework and test files)macos/Brewfile(package definitions)config/**(configuration files).github/workflows/test-dotfiles.yml(workflow itself)Benefits:
Pre-Merge Checklist
Code Quality
Testing
./test/run-tests.zshsucceedsDocumentation
CI/CD
Review Readiness
Next Steps
Additional Context: This CI workflow complements our PR template (PR 8.1) to provide complete infrastructure for consistent, high-quality development. The shell configuration fix ensures compatibility with GitHub Actions while maintaining our zsh target environment.
Testing Instructions: The workflow should now execute successfully with the corrected zsh shell configuration. This validates that the CI infrastructure works correctly for future development.