Skip to content

[NA] fix(dev-runner): use -DskipTests for EM backend build so comet-mpm-service's test-jar is produced - #7563

Merged
petrotiurin merged 1 commit into
mainfrom
petrotiurin/fix-em-backend-skiptests
Jul 22, 2026
Merged

[NA] fix(dev-runner): use -DskipTests for EM backend build so comet-mpm-service's test-jar is produced#7563
petrotiurin merged 1 commit into
mainfrom
petrotiurin/fix-em-backend-skiptests

Conversation

@petrotiurin

@petrotiurin petrotiurin commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Details

platform_restart_build() builds the EM backend reactor (comet-ml-react-webapp -am) with -Dmaven.test.skip=true, which skips test compilation as well as execution. comet-ml-mpm-webapp (a reactor dependency of comet-ml-react-webapp) needs comet-mpm-service's test-jar as a test-scoped dependency, so skipping test compilation means that jar never gets produced/attached and the reactor fails to resolve it — leaving the EM backend permanently STOPPED on any fresh comet-backend checkout. Swapping to -DskipTests still skips running the tests (same speed benefit) but compiles them, so the test-jar goal has classes to package.

  • mvn -pl comet-ml-react-webapp -am clean install -Dmaven.test.skip=true ...BUILD FAILURE:
    Could not find artifact com.comet:comet-mpm-service:jar:tests:1.0-SNAPSHOT

Change checklist

  • User facing
  • Documentation update

Issues

  • Resolves #
  • NA

AI-WATERMARK

AI-WATERMARK: yes

  • Tools: Claude Code
  • Model(s): Claude Sonnet 5
  • Scope: root-cause diagnosis (reproduced the build failure, traced it to the missing test-jar), the one-line fix, and this PR description/commit message
  • Human verification: directed the investigation, confirmed the fix by rebuilding comet-mpm-service and comet-ml-react-webapp locally and running ./scripts/dev-runner.sh --restart --platform-enabled end-to-end (EM backend reached RUNNING/ready), reviewing before merge

Testing

Commands run (in comet-backend, JDK 17 via /usr/libexec/java_home -v 17):

  • mvn -pl comet-mpm-service -am install -T 1C -DskipTests -Dspotless.skip=true -Dmaven.javadoc.skip=true -Dmaven.source.skip=trueBUILD SUCCESS, produced and installed comet-mpm-service-1.0-SNAPSHOT-tests.jar
  • mvn -pl comet-ml-react-webapp -am install -T 1C -DskipTests -Dspotless.skip=true -Dmaven.javadoc.skip=true -Dmaven.source.skip=trueBUILD SUCCESS
  • ./scripts/dev-runner.sh --restart --platform-enabled (from opik/) → EM backend built, started, and reported RUNNING (PID ...) / "EM backend is ready and accepting connections"

Scenarios validated:

  • Clean comet-backend checkout with no prior target/ build (the original failing case) — confirmed the exact BUILD FAILURE before the fix.
  • Full --restart --platform-enabled flow after the fix, local process mode (not Docker) on macOS.

Not run: comet-backend's own test suite (intentionally skipped by design — this is a local dev-tooling build, not a CI path).

Documentation

None needed — internal dev script only.

…backend build

comet-ml-mpm-webapp depends on comet-mpm-service's test-jar as a reactor
dependency. -Dmaven.test.skip=true skips test compilation entirely, so the
test-jar never gets produced and the reactor build fails with:

  Could not find artifact com.comet:comet-mpm-service:jar:tests:1.0-SNAPSHOT

-DskipTests still compiles test sources (producing the test-jar) but skips
running the tests, so the reactor resolves cleanly.
@github-actions

Copy link
Copy Markdown
Contributor

⏱️ pre-commit per-hook timing

No linted files changed — nothing to run.

⏭️ 41 skipped (no matching files changed)
Hook Description Result
🐍 trim trailing whitespace — python sdk Strip trailing whitespace ⏭️
🐍 fix end of files — python sdk Ensure files end in a newline ⏭️
🐍 ruff — python sdk Lint + autofix Python (ruff) ⏭️
🐍 ruff-format — python sdk Format Python code (ruff) ⏭️
🐍 mypy — python sdk Static type check ⏭️
🤖 trim trailing whitespace — optimizer Strip trailing whitespace ⏭️
🤖 fix end of files — optimizer Ensure files end in a newline ⏭️
🤖 check yaml — optimizer Validate YAML syntax ⏭️
🤖 check json — optimizer Validate JSON syntax ⏭️
🤖 check toml — optimizer Validate TOML syntax ⏭️
🤖 check for added large files — optimizer Block large files (>1MB) ⏭️
🔐 detect private key — optimizer Block committed private keys ⏭️
🤖 check for merge conflicts — optimizer Block merge-conflict markers ⏭️
🤖 check for case conflicts — optimizer Block case-only name clashes ⏭️
🤖 pyupgrade — optimizer Modernize Python syntax ⏭️
🤖 ruff — optimizer Lint + autofix Python (ruff) ⏭️
🤖 ruff-format — optimizer Format Python code (ruff) ⏭️
🤖 mypy — optimizer Static type check ⏭️
📓 nbstripout — optimizer notebooks Strip notebook output ⏭️
📝 markdownlint — optimizer Lint Markdown ⏭️
🔤 codespell — optimizer Fix common misspellings ⏭️
📊 radon cc — optimizer Cyclomatic-complexity gate ⏭️
📊 radon raw — optimizer Raw size metrics gate ⏭️
📊 xenon — optimizer Fail on complexity thresholds ⏭️
📊 lizard — optimizer Cyclomatic-complexity gate ⏭️
🧹 vulture — optimizer Find dead code ⏭️
🛡️ trim trailing whitespace — guardrails Strip trailing whitespace ⏭️
🛡️ fix end of files — guardrails Ensure files end in a newline ⏭️
🛡️ ruff — guardrails Lint + autofix Python (ruff) ⏭️
🛡️ ruff-format — guardrails Format Python code (ruff) ⏭️
🛡️ mypy — guardrails Static type check ⏭️
⚓ helm-docs Regenerate Helm chart README ⏭️
block non-public FE plugins Block non-public FE plugins ⏭️
☕ spotless — java backend Format Java code ⏭️
🧪 pre-commit wrapper smoke tests Self-test the wrapper scripts ⏭️
🌐 eslint — frontend Lint + autofix JS/TS ⏭️
🌐 typecheck — frontend Whole-project tsc type check ⏭️
📘 eslint — typescript sdk Lint + autofix JS/TS ⏭️
📘 typecheck — typescript sdk Whole-project tsc type check ⏭️
⚙️ actionlint — github workflows Lint GitHub Actions workflows ⏭️
🐳 hadolint — dockerfiles Lint Dockerfiles ⏭️

@petrotiurin petrotiurin changed the title fix(dev-runner): use -DskipTests for EM backend build so comet-mpm-service's test-jar is produced [NA] fix(dev-runner): use -DskipTests for EM backend build so comet-mpm-service's test-jar is produced Jul 22, 2026
@petrotiurin
petrotiurin marked this pull request as ready for review July 22, 2026 10:16
@petrotiurin
petrotiurin requested a review from a team as a code owner July 22, 2026 10:16
@JetoPistola

Copy link
Copy Markdown
Contributor

👋 Review summary

What looks good

  • Correct root-cause diagnosis: -Dmaven.test.skip=true skips test compilation, which starves comet-mpm-service's test-jar goal, so comet-ml-mpm-webapp can't resolve comet-mpm-service:jar:tests in the reactor. Swapping to -DskipTests compiles the tests (producing the test-jar) without running them — same speed benefit, no broken reactor.
  • Minimal and well-scoped: one flag, one line. The two other -Dmaven.test.skip=true usages (dev-runner.sh, dev-runner.ps1) build the Opik backend, not the comet-backend EM reactor, so they're correctly left untouched.
  • The why comment is genuinely useful — it captures a non-obvious Maven footgun (maven.test.skip vs skipTests) for the next reader, and explains why rather than restating what.
  • Thorough verification in the PR description: reproduced the exact BUILD FAILURE before, confirmed RUNNING after via the full --restart --platform-enabled flow.

Overall
Clean, correctly-diagnosed dev-tooling fix. Scope is exactly right — nothing extraneous. Worth noting this also aligns dev-runner-platform.sh with the flag apps/opik-backend/Dockerfile already uses (-DskipTests).

Inline comments: None — looks clean!

🤖 Review posted via /review-github-pr

@JetoPistola JetoPistola left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — clean, correctly-diagnosed dev-tooling fix. -DskipTests compiles comet-mpm-service's test sources (producing the test-jar comet-ml-mpm-webapp needs) while still skipping test execution, so the EM reactor resolves. Minimal, well-scoped, and verified end-to-end by the author.

🤖 Review posted via /review-github-pr

@petrotiurin
petrotiurin merged commit e41986b into main Jul 22, 2026
20 of 23 checks passed
@petrotiurin
petrotiurin deleted the petrotiurin/fix-em-backend-skiptests branch July 22, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants