adityamparikh opened a new pull request, #117:
URL: https://github.com/apache/solr-mcp/pull/117
## Summary
Adds a focused `ci.yml` workflow for pull request validation against `main`,
separating unit tests from Testcontainers-based integration tests for clearer
signal on PRs.
- New `.github/workflows/ci.yml` with 4 jobs: `build`, `unit-tests`,
`integration-tests`, and label-gated `solr-compatibility` matrix
- Two new Gradle tasks (`unitTest`, `integrationTest`) using JUnit 5 tag
filtering — existing `test` task is unchanged
- Tag 9 Testcontainers-based test classes with `@Tag("integration")`
(including `SolrConfigTest` and `DistributedTracingTest`, which use
Testcontainers but don't follow the `*IntegrationTest` naming convention)
- Remove `pull_request` trigger from `build-and-publish.yml` to avoid
duplicate runs
## Why
The existing `build-and-publish.yml` runs a full `./gradlew build` plus a
5-version Solr compatibility matrix on every PR push (~72 runner-minutes). The
new workflow:
- Provides clearer pass/fail feedback by separating unit and integration
tests into distinct jobs
- Cuts typical PR cost to ~20 runner-minutes (build + unit + integration in
parallel)
- Makes the multi-version Solr matrix opt-in via the `solr-compatibility`
label, since it's expensive and rarely needed for every PR
## Job pipeline
```
build (compile + spotlessCheck, ~2-3 min)
├──> unit-tests (~3-5 min) [parallel]
└──> integration-tests (~8-12 min) [parallel]
└──> solr-compatibility (4 versions, label-gated)
```
## Test breakdown after split
- **Unit tests**: 10 classes, 165 tests (no Docker/Testcontainers)
- **Integration tests**: 9 classes, 80 tests (Testcontainers with real Solr)
## Test plan
- [x] `./gradlew build` passes locally with all tests
- [x] `./gradlew unitTest` runs only the 10 unit test classes (no
Testcontainers startup)
- [x] `./gradlew integrationTest` runs only the 9 Testcontainers test classes
- [x] `./gradlew test` still runs everything (unchanged behavior)
- [x] `spotlessCheck` passes
- [ ] CI workflow triggers correctly when this PR is opened
- [ ] Verify `solr-compatibility` matrix runs after adding the
`solr-compatibility` label
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]