In this repository in folder workflow-templates you can find GitHub Actions workflow templates for common CI/CD, release, and automation tasks across Qubership and Netcracker repositories. These templates help standardize and accelerate automation for various languages and use cases.
- Copy the desired workflow YAML file from this folder into your repository's
.github/workflows/directory. - Review and update required secrets and configuration files as described in the comments at the top of each workflow file. Example config files are available in
config/examples/. - Customize input parameters (such as version, tags, or build options) as needed for your project.
- Commit and push the workflow to your repository.
| Workflow Name | Description | Typical Use Case / Trigger | Workflow File |
|---|---|---|---|
| Add License Headers | Checks or adds license header into source code files. Requires a .licenserc.yaml config file in the root folder. | On push and workflow_dispatch events | license-header.yml |
| Automatic PR Labeler | Automatically label PRs based on conventional commit messages. Requires a auto-labeler-config.yaml config file in the .github folder | On PR events | automatic-pr-labeler.yaml |
| Check Go Modules Licenses | Check the licenses of Go modules in the repository using a configurable allowlist. Fails if any module has a disallowed or missing license. Requires a .wwhrd.yml config file in the repository root. | On push | check-license.yaml |
| CLA Assistant | Check if PR authors have signed the Contributor License Agreement | On PR events | cla.yaml |
| Cleanup Old Docker | Clean up old Docker container versions in GitHub Packages | Scheduled (cron), manual trigger | cleanup-old-docker-container.yaml |
| Dependency Review | Analyze new and updated dependencies for vulnerabilities, license issues, and OpenSSF Scorecard results on PRs and manual runs. | On pull request, manual trigger | dependency-review.yaml |
| CI: Dev Docker Build Single Image | Workflow to build and publish single Docker image. Dockerfile is expected to be in the root of the repository | Manual trigger (workflow_dispatch), Pull request, Push | dev-docker-build-single-image.yml |
| CI: Dev Docker Build Multiple Images | Workflow to build and publish multiple Docker images based on configuration file (.qubership/docker.cfg) | Manual trigger (workflow_dispatch), Pull request, Push | dev-docker-build-multiple-images.yml |
| CI: Dev Docker Build Selective | Workflow to build and publish multiple Docker images based on configuration file (.qubership/docker.cfg) It builds only changed images based on the changeset detected. | Manual trigger (workflow_dispatch), Pull request, Push | dev-docker-build-single-image.yml |
| Dev Maven Docker Build | Development build for Maven projects, with Docker image build and artifact publishing | Manual trigger (workflow_dispatch) | dev-mvn-docker-build.yml |
| Go Build | Build and test Go projects, upload coverage to SonarCloud | On push to main, on pull request | go-build.yaml |
| Helm Charts Release | Release Helm charts and Docker images, create GitHub release. Requires a lot of configuration. Please read workflow file comments. Configuration examples: .github/helm-charts-release-config.yaml.github/docker-build-config.json.github/release-drafter-config.yml | Manual trigger (workflow_dispatch) | helm-charts-release.yaml |
| Link Checker | Check Markdown files for broken links using lychee | On push, manual trigger | link-checker.yaml |
| Lint and Test Charts | Lint and test Helm Charts | Manual trigger (workflow_dispatch), Pull request (pull_request) | lint-test-chart.yaml |
| Lint Codebase | Lint codebase using GitHub Super-Linter. Runs multiple linters on changed files for supported languages. See .github/super-linter.env and .github/linters/ for configuration. | On push, pull request, manual trigger | super-linter.yaml |
| Maven Release v2 | Enhanced Maven release with dry-run, Docker build, and GitHub release support. Requires pom.xmlconfiguration and .github/release-drafter-config.yml config file. | Manual trigger (workflow_dispatch) | maven-release-v2.yaml |
| Maven Release | Release and upload Java artifacts to Maven Central or GitHub Packages, create GitHub release | Manual trigger (workflow_dispatch) | maven-release.yaml |
| Maven Snapshot Deploy | Deploy Maven snapshot artifacts to GitHub Packages or Maven Central | On push to non-main/non-release branches | maven-snapshot-deploy.yaml |
| PR Assigner | Automatically assign reviewers to PRs based on config or CODEOWNERS | On PR events | pr-assigner.yml |
| PR Conventional Commits | Check if PR commits follow conventional commit messages | On PR events | pr-conventional-commits.yaml |
| PR Lint Title | Lint PR titles to ensure they follow conventional commit strategy | On PR events | pr-lint-title.yaml |
| Profanity Filter | Check PRs, issues, and comments for profanity | On PR/issue/comment events | profanity-filter.yaml |
| Publish npm package | Publish npm packages to GitHub Packages or npm registry, supports Lerna monorepos | Manual trigger (workflow_dispatch), push | npm-publish.yaml |
| Release npm package | Creates GitHub release and, publishes npm packages to GitHub Packages or npm registry, supports Lerna monorepos | Manual trigger (workflow_dispatch) | npm-release.yaml |
| Python Release | Publish Python packages to PyPI and create GitHub release | Manual trigger (workflow_dispatch) | python-release.yaml |
| Scorecard supply-chain security | Generates and optionaly publishes OSSF scorecard of the repository | On push to main and weekly schedule | ossf-scorecard.yaml |
| SBOM to Release | Generate SBOM and upload it as a GitHub Release asset | On release, manual trigger | sbom-to-release.yaml |
| Security Scan Docker Packages | The Security Scan workflow performs comprehensive security vulnerability scanning on Docker packages in your repository. | Manual trigger (workflow_dispatch), scheduled runs | security-scan.yml |
- Automatic PR Labeler
- Docker build
- Docker metadata
- Helm charts release
- Release notes auto-generation
- Release assets upload
For questions or improvements, please open an issue or PR in this repository.