Skip to content

Netcracker/.github

Qubership GitHub Workflow Templates

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.

Table of contents

How to Use

  1. Copy the desired workflow YAML file from this folder into your repository's .github/workflows/ directory.
  2. 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/.
  3. Customize input parameters (such as version, tags, or build options) as needed for your project.
  4. Commit and push the workflow to your repository.

Available Workflow Templates

Workflow NameDescriptionTypical Use Case / TriggerWorkflow File
Add License HeadersChecks or adds license header into source code files. Requires a .licenserc.yaml config file in the root folder.On push and workflow_dispatch eventslicense-header.yml
Automatic PR LabelerAutomatically label PRs based on conventional commit messages. Requires a auto-labeler-config.yaml config file in the .github folderOn PR eventsautomatic-pr-labeler.yaml
Check Go Modules LicensesCheck 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 pushcheck-license.yaml
CLA AssistantCheck if PR authors have signed the Contributor License AgreementOn PR eventscla.yaml
Cleanup Old DockerClean up old Docker container versions in GitHub PackagesScheduled (cron), manual triggercleanup-old-docker-container.yaml
Dependency ReviewAnalyze new and updated dependencies for vulnerabilities, license issues, and OpenSSF Scorecard results on PRs and manual runs.On pull request, manual triggerdependency-review.yaml
CI: Dev Docker Build Single ImageWorkflow to build and publish single Docker image. Dockerfile is expected to be in the root of the repositoryManual trigger (workflow_dispatch), Pull request, Pushdev-docker-build-single-image.yml
CI: Dev Docker Build Multiple ImagesWorkflow to build and publish multiple Docker images based on configuration file (.qubership/docker.cfg)Manual trigger (workflow_dispatch), Pull request, Pushdev-docker-build-multiple-images.yml
CI: Dev Docker Build SelectiveWorkflow 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, Pushdev-docker-build-single-image.yml
Dev Maven Docker BuildDevelopment build for Maven projects, with Docker image build and artifact publishingManual trigger (workflow_dispatch)dev-mvn-docker-build.yml
Go BuildBuild and test Go projects, upload coverage to SonarCloudOn push to main, on pull requestgo-build.yaml
Helm Charts ReleaseRelease 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.ymlManual trigger (workflow_dispatch)helm-charts-release.yaml
Link CheckerCheck Markdown files for broken links using lycheeOn push, manual triggerlink-checker.yaml
Lint and Test ChartsLint and test Helm ChartsManual trigger (workflow_dispatch), Pull request (pull_request)lint-test-chart.yaml
Lint CodebaseLint 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 triggersuper-linter.yaml
Maven Release v2Enhanced 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 ReleaseRelease and upload Java artifacts to Maven Central or GitHub Packages, create GitHub releaseManual trigger (workflow_dispatch)maven-release.yaml
Maven Snapshot DeployDeploy Maven snapshot artifacts to GitHub Packages or Maven CentralOn push to non-main/non-release branchesmaven-snapshot-deploy.yaml
PR AssignerAutomatically assign reviewers to PRs based on config or CODEOWNERSOn PR eventspr-assigner.yml
PR Conventional CommitsCheck if PR commits follow conventional commit messagesOn PR eventspr-conventional-commits.yaml
PR Lint TitleLint PR titles to ensure they follow conventional commit strategyOn PR eventspr-lint-title.yaml
Profanity FilterCheck PRs, issues, and comments for profanityOn PR/issue/comment eventsprofanity-filter.yaml
Publish npm packagePublish npm packages to GitHub Packages or npm registry, supports Lerna monoreposManual trigger (workflow_dispatch), pushnpm-publish.yaml
Release npm packageCreates GitHub release and, publishes npm packages to GitHub Packages or npm registry, supports Lerna monoreposManual trigger (workflow_dispatch)npm-release.yaml
Python ReleasePublish Python packages to PyPI and create GitHub releaseManual trigger (workflow_dispatch)python-release.yaml
Scorecard supply-chain securityGenerates and optionaly publishes OSSF scorecard of the repositoryOn push to main and weekly scheduleossf-scorecard.yaml
SBOM to ReleaseGenerate SBOM and upload it as a GitHub Release assetOn release, manual triggersbom-to-release.yaml
Security Scan Docker PackagesThe Security Scan workflow performs comprehensive security vulnerability scanning on Docker packages in your repository.Manual trigger (workflow_dispatch), scheduled runssecurity-scan.yml

References

Configuration files examples


For questions or improvements, please open an issue or PR in this repository.

About

No description or website provided.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 16