Add CI automation to run tests on every commit #191
Labels
No labels
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli#191
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Recent config model refactoring broke the
./iw initand./iw doctorcommands, but this wasn't caught by our test suite until manual testing revealed the issues.Specifically:
ProjectConfigurationAPI (moving to nestedTrackerConfigandProjectConfigstructures) broke compatibilityinit.scalaanddoctor.scalacommands were using the old constructor signature instead of the factory method./iw test- tests only cover core modules, not the commands that use themRoot Cause
We currently don't have automated CI that runs tests on every commit/PR. Additionally, our test suite has a critical gap:
./iw test.iw/commands/are not compiled during testing - only the core modules are testedSolution
Implement GitHub Actions CI workflow that:
./iw test(unit tests, command compilation, and E2E tests)Note: A new
./iw test compilecommand has been added to check that all 21 commands compile successfully with the core modules. This would have caught both theinitanddoctorcommand breakages.Acceptance Criteria
.github/workflows/mainand on all PRs./iw testwhich now includes command compilation)Additional Context
This issue was discovered when testing
./iw initin another project after recent config model changes. The command failed with compilation errors about missing constructor parameters. Running the new./iw test compilecommand revealed thatdoctor.scalawas also broken. Both have been fixed, but without CI, similar breakages could easily happen again.Closed by
e3b73cafeat(quality): Add CI workflow, git hooks, scalafix config, and CONTRIBUTING.md — CI now runs on every commit.