Skip to content

Chore: Added Github actions, workflows and publish scripts#6

Merged
tanya732 merged 2 commits into
mainfrom
feat/add-ci-pipeline
Apr 9, 2026
Merged

Chore: Added Github actions, workflows and publish scripts#6
tanya732 merged 2 commits into
mainfrom
feat/add-ci-pipeline

Conversation

@tanya732
Copy link
Copy Markdown
Contributor

@tanya732 tanya732 commented Apr 9, 2026

Description

Adds a complete CI/CD pipeline, including build/test automation, security scanning, and Maven Central publishing for myorganization-java.

Changes

GitHub Actions (.github/actions/)

Seven composite actions for release orchestration:

  • get-version — reads version from .version file
  • get-prerelease — detects beta/alpha pre-release versions
  • get-release-notes — extracts release notes from PR body
  • tag-exists — checks if git tag already exists
  • maven-publish — installs Java (SDKMAN), validates Gradle wrapper, publishes to Sonatype Maven Central
  • release-create — creates GitHub release via softprops/action-gh-release
  • rl-scanner — Reversing Labs security scanning on build artifacts

Workflows (.github/workflows/)

  • build-and-test.yml — runs on PR/push/merge_group; builds all modules, runs tests, uploads Codecov and test reports
  • gradle-wrapper-validation.yml — validates Gradle wrapper integrity on PR/push
  • snyk.yml — Snyk vulnerability scanning on PR/push + bi-monthly schedule
  • rl-scanner.yml — reusable workflow for Reversing Labs artifact scanning
  • java-release.yml — reusable release workflow (version → prerelease check → tag check → Maven publish → GitHub release)
  • release.yml — top-level release trigger: runs RL scanner then Java release; triggered on merged release/* PRs or manual dispatch

Publishing Infrastructure

  • gradle/versioning.gradle — version management from .version file with snapshot support (-PisSnapshot=false)
  • gradle/maven-publish.gradle — shared Maven publishing config with PGP signing (in-memory keys), sources JAR, javadoc JAR, full POM metadata
  • gradle.properties — POM metadata properties (group: com.auth0, artifactId: myorganization-java)
  • Root build.gradle — added io.github.gradle-nexus.publish-plugin with Sonatype Central repository config

Dependency Management

  • .github/dependabot.yml — daily Dependabot updates for GitHub Actions and Gradle dependencies (semver-major ignored)

kailash-b
kailash-b previously approved these changes Apr 9, 2026
@tanya732 tanya732 merged commit 340c9cc into main Apr 9, 2026
3 checks 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