A Bill of Materials (BOM) descriptor for JVM-based projects that provides centralized dependency management for ReportPortal components. This repository contains version definitions for all ReportPortal dependencies, ensuring consistent versions across the entire ecosystem.
The commons-bom serves as a parent POM that defines dependency versions for:
- Spring Boot and related frameworks
- Database drivers and ORM tools
- Testing frameworks
- Utility libraries
- ReportPortal-specific components
This project uses the centralized Maven publishing workflow from the ReportPortal organization for automated publishing to Maven Central.
Source: ReportPortal Maven Publish Workflow
Purpose: Publishes artifacts directly to Maven Central using the new Sonatype Central API with full automation.
Features:
- Downloads artifacts from GitHub Packages
- Creates deployment bundles with proper Maven repository structure
- Uploads to Sonatype Central with USER_MANAGED publishing
- Automatically publishes validated deployments
- Monitors deployment status with automatic retry
- Clean, production-ready logging
Usage:
- Go to the Actions tab in GitHub
- Select "Maven Publish to Central" workflow
- Click "Run workflow"
- Enter the version to publish (e.g.,
5.14.4) - Click "Run workflow"
Required Secrets:
SONATYPE_USER: Your Sonatype Central usernameSONATYPE_PASSWORD: Your Sonatype Central password (not API token)GITHUB_TOKEN: Automatically provided by GitHub Actions
Artifacts Downloaded:
commons-bom-{version}.pomcommons-bom-{version}.pom.asc(GPG signature)
Bundle Structure: The workflow creates a ZIP bundle with proper Maven repository structure:
commons-bom-{version}.zip
└── com/epam/reportportal/commons-bom/{version}/
├── commons-bom-{version}.pom
└── commons-bom-{version}.pom.asc
The workflows use token-based authentication with Sonatype Central:
- Username and password are base64 encoded using
base64(username:password) - Bearer token authentication is used for API requests
- Uses standard Sonatype Central credentials (not API tokens)
The workflow follows this automated process:
- Upload →
USER_MANAGEDpublishing type (requires manual publish) - Monitor → Wait for
VALIDATEDstate - Auto-publish → Automatically trigger publish via API when validated
- Wait → Continue monitoring until
PUBLISHEDstate - Success → Display published package URLs
The workflow monitors these deployment states:
PENDING: Uploaded and waiting for processingVALIDATING: Being processed by validation serviceVALIDATED: Passed validation, automatically triggers publishPUBLISHING: Being uploaded to Maven CentralPUBLISHED: Successfully published to Maven CentralFAILED: Encountered an error during processing
- File format: ZIP archive
- Naming:
commons-bom-{version}.zip - Structure: Follows Maven repository layout
- Validation: Passes Sonatype Central requirements