Skip to content

refactor: remove SDKMAN, use system mvn + Maven Wrapper - #2

Merged
emmanuelbruno merged 1 commit into
developfrom
feat/remove-sdkman
Sep 24, 2026
Merged

emmanuelbruno merged 1 commit into
developfrom
feat/remove-sdkman

Conversation

@emmanuelbruno

Copy link
Copy Markdown
Contributor

Summary

Removes all SDKMAN dependencies from the shared Maven workflow. The runner image now provides Maven directly (pinned, sha256-verified), making SDKMAN unnecessary.

Changes

Before After
source sdkman-init.sh && mvn wrapper:wrapper mvn wrapper:wrapper
source sdkman-init.sh && ./mvnw verify ./mvnw verify

Why

  • SDKMAN doesn't exist on the new ebpro-org K8s pod runners
  • Maven is now pre-installed in the runner image (same pinned-tarball pattern as JDK)
  • Maven Wrapper (./mvnw) still ensures per-project Maven version consistency
  • Zero network dependency for SDKMAN at runtime

Breaking change

Requires runner image with Maven on PATH. See companion PR: ebpro/quarkus-ci-runner (adds Maven 3.9.11).

Old runners with SDKMAN will still work (system mvn takes precedence, SDKMAN is simply not sourced).

The runner image now has Maven pre-installed (pinned, sha256-verified).
This removes the SDKMAN source line from all steps:

- 'Setup Maven Wrapper': uses system mvn (from runner image)
- All build/deploy/quality steps: use ./mvnw (Maven Wrapper)

Requires: runner image with Maven on PATH (see ebpro/quarkus-ci-runner)
Copilot AI lite review requested due to automatic review settings September 23, 2026 20:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Generic self-hosted runners may lack Maven on PATH, causing workflow failures.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity

Open (1)
What changed in this PR

Refactors the shared Maven workflow to remove SDKMAN and use system Maven with the Maven Wrapper.

Changes:

  • Uses mvn from PATH to generate the wrapper.
  • Removes SDKMAN initialization from Maven commands.
  • Relies on runner-provided Maven.
File Summary
.github/​workflows/​ci-shareable-maven.yml Removes SDKMAN dependencies; currently requires Maven on PATH for all selected runners.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

- name: Setup Maven Wrapper
run: |
source "/home/runner/.sdkman/bin/sdkman-init.sh" && mvn ${{ inputs.maven-args }} wrapper:wrapper \
mvn ${{ inputs.maven-args }} wrapper:wrapper \
@emmanuelbruno
emmanuelbruno merged commit ff29664 into develop Sep 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants