Skip to content

Chore/deploy maven central#116

Merged
junjiem merged 8 commits intomainfrom
chore/deploy_maven_central
Oct 29, 2025
Merged

Chore/deploy maven central#116
junjiem merged 8 commits intomainfrom
chore/deploy_maven_central

Conversation

@junjiem
Copy link
Copy Markdown
Collaborator

@junjiem junjiem commented Oct 29, 2025

Summary by CodeRabbit

  • Chores
    • Enhanced Maven Central deployment automation with streamlined CI/CD workflow configuration
    • Upgraded central publishing plugin to enable auto-publishing and deployment status tracking
    • Simplified release deployment process for more reliable artifact publishing

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Oct 29, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR simplifies Maven Central deployment by removing manual GPG setup scripts and credentials templates. It transitions from explicit GPG management to automated Maven Central publishing, upgrading the central-publishing-maven-plugin to 0.9.0 with auto-publish and wait-until-published configuration.

Changes

Cohort / File(s) Summary
Deployment Workflow Simplification
.github/workflows/deploy.yaml
Removes manual GPG Setup step; updates JDK setup to use temurin distribution with Maven cache and server configuration (server-id, server-username, server-password); replaces environment-based Maven credentials with direct private key provisioning (gpg-private-key, gpg-passphrase); simplifies deploy command to mvn -B clean deploy -P release without explicit settings file reference.
Maven Build Configuration
pom.xml
Removes commented GPG/export block; updates maven-gpg-plugin configuration by replacing keyname element with a comment on GPG 2.1+ non-interactive PIN support; upgrades central-publishing-maven-plugin from 0.7.0 to 0.9.0; adds new configuration fields (autoPublish: true, waitUntil: published) to central-publishing-maven-plugin.
Removed Files
gpg-setup.sh, settings-template.xml
Deletes gpg-setup.sh script that handled base64-decoding and GPG key import; removes settings-template.xml Maven settings template containing environment-based credentials configuration.

Sequence Diagram(s)

sequenceDiagram
    participant GH as GitHub Actions
    participant Maven as Maven
    participant MCP as Central Publishing<br/>Maven Plugin
    participant Central as Maven Central
    
    Note over GH,Central: Old Flow (Removed)
    GH->>GH: Run gpg-setup.sh<br/>(decode + import key)
    GH->>Maven: mvn deploy<br/>(with settings.xml)
    Maven->>Central: Upload artifact
    
    Note over GH,Central: New Flow
    GH->>Maven: Set JDK with Maven cache<br/>+ GPG private key inputs
    GH->>Maven: mvn clean deploy<br/>-P release
    Maven->>MCP: Trigger publishing
    MCP->>Central: Auto-publish artifact
    rect rgb(200, 220, 255)
        MCP->>Central: Wait for published status
        Central-->>MCP: Published ✓
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Workflow changes: Verify JDK/Maven cache setup and GPG input provisioning align with Maven Central authentication requirements
  • Plugin version upgrade: Confirm central-publishing-maven-plugin 0.9.0 introduces autoPublish and waitUntil fields as expected
  • Configuration semantics: Ensure removal of keyname and reliance on automatic GPG key handling via setup-java action works correctly
  • File removals: Validate that all references to gpg-setup.sh and settings-template.xml have been eliminated from the workflow

Possibly related PRs

  • junjiem/dat#114: Modifies gpg-setup.sh and removes maven-gpg-plugin keyname configuration, indicating coordinated GPG automation changes.

Poem

🐰 No more scripts to run and fuss,
Maven Central does the work for us!
Keys are cached, configs are neat,
Auto-publish makes it complete! 🚀✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/deploy_maven_central

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4eef9a9 and 6df42de.

📒 Files selected for processing (4)
  • .github/workflows/deploy.yaml (1 hunks)
  • gpg-setup.sh (0 hunks)
  • pom.xml (2 hunks)
  • settings-template.xml (0 hunks)

Comment @coderabbitai help to get the list of available commands and usage tips.

@junjiem junjiem merged commit 9d2590a into main Oct 29, 2025
1 check was pending
@junjiem junjiem deleted the chore/deploy_maven_central branch October 29, 2025 13:09
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.

1 participant