Skip to content

Comments

Feat: Added github actions and workflows and publish scripts#2

Open
tanya732 wants to merge 2 commits intomainfrom
feat/add-ci-pipeline
Open

Feat: Added github actions and workflows and publish scripts#2
tanya732 wants to merge 2 commits intomainfrom
feat/add-ci-pipeline

Conversation

@tanya732
Copy link
Contributor

@tanya732 tanya732 commented Feb 20, 2026

Description

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

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: auth0-springboot-api)
  • Root build.gradle — added io.github.gradle-nexus.publish-plugin with Sonatype Central repository config
  • auth0-springboot-api/build.gradle — replaced inline publishing block with shared gradle scripts

Dependency Management

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

Publishing Scope

Only auth0-springboot-api is published to Maven Central as com.auth0:auth0-springboot-api. The auth0-api-java module is compiled as an internal dependency but is not published. The playground module is excluded entirely.

@tanya732 tanya732 marked this pull request as ready for review February 20, 2026 15:07
@tanya732 tanya732 requested a review from a team as a code owner February 20, 2026 15:07
@@ -0,0 +1,10 @@
name: "Validate Gradle Wrapper"
on: [push, pull_request]

Choose a reason for hiding this comment

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

Do you need the push action here ? Shouldn't this be run only after the PR is raised and subsequent builds ?

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