This project includes several GitHub Actions workflows for continuous integration and security.
Triggers:
- Push to
mainordevelopbranches - Pull requests to
mainbranch
Jobs:
- test: Runs tests on Java 17 and 21
- build: Builds the application after successful tests
- release: Creates releases on main branch pushes
Features:
- Multi-version Java testing (17, 21)
- Test result reporting with
dorny/test-reporter - Artifact uploads for build outputs
- Automated releases with versioning
Triggers:
- Push to
mainordevelopbranches - Pull requests to
mainbranch
Jobs:
- test: Comprehensive testing with matrix strategy
- build-and-publish: Build and release management
- security-scan: OWASP dependency vulnerability scanning
Features:
- Gradle caching for faster builds
- Test result uploads
- Security vulnerability reporting
- Release artifact management
Triggers:
- Push to
mainordevelopbranches - Pull requests to
mainbranch
Jobs:
- static-analysis: SpotBugs, PMD, and Checkstyle analysis
- security-scan: OWASP dependency vulnerability scanning
Features:
- SpotBugs: Bug pattern detection and code quality
- PMD: Code style and potential issues
- Checkstyle: Code formatting and style compliance
- OWASP dependency scanning for vulnerabilities
- Detailed reporting and artifact uploads
Automatically creates pull requests for:
- Gradle dependency updates (weekly on Mondays)
- GitHub Actions updates (weekly on Mondays)
Located at .github/pull_request_template.md, provides:
- Structured PR descriptions
- Change type categorization
- Testing checklists
- Review guidelines
- OWASP Dependency Check: Scans for known vulnerabilities
- SpotBugs Analysis: Static analysis for bug patterns and code quality
- PMD Analysis: Code style and potential issue detection
- Checkstyle: Code formatting and style compliance
- Dependabot: Automated dependency updates
- JaCoCo Coverage: Code coverage reporting and verification
# Run the same checks as CI
./gradlew ciBuild
# Run only static analysis
./gradlew staticAnalysis
# Run security scan
./gradlew dependencyCheckAnalyze
open build/reports/dependency-check-report.html
# Run individual static analysis tools
./gradlew spotbugsMain pmdMain checkstyleMain- All pushes trigger the build pipeline
- PRs run tests and security scans
- Main branch pushes create releases
- Weekly security scans run automatically