A centralized repository of reusable CI/CD templates designed to standardize and streamline build, test, and release pipelines across Lorislab projects.
This repository provides modular, versioned workflow templates for GitHub Actions and GitLab CI. By centralizing pipeline logic, we ensure:
- Standardization: All projects follow consistent quality gates (e.g., SonarCloud, Checkstyle).
- Reduced Boilerplate: Developers can include complex logic with a single
usesorincludestatement. - Easier Updates: Security patches or tool upgrades (like moving to Java 21) can be managed in one place.
Pre-configured templates for SonarCloud and JUnit reporting. Our templates are designed to handle common static analysis edge cases, such as:
- Correct
Optionalhandling in@PostConstructmethods. - Standardized code coverage thresholds.
- Java/Quarkus: Optimized Maven and Gradle build workflows.
- Docker: Multi-architecture builds using Buildx.
- Helm: Standardized linting and packaging for Kubernetes deployments.
- Automated semantic versioning and tagging.
- GitHub/GitLab release automation with changelog generation.
To use a template in your repository, reference it in your .github/workflows YAML:
jobs:
build:
uses: lorislab/ci-templates/.github/workflows/maven-build.yml@main
with:
java-version: '25'- Fork the repository.
- Create a feature branch (git checkout -b feat/new-workflow).
- Ensure templates are generic (use inputs/variables instead of hardcoded project names).
- Open a Pull Request.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.