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]

Reply via email to