-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Qubership Workflow Hub is a collection of reusable GitHub Actions workflows designed to simplify CI/CD automation and release management for your GitHub projects.
- Single Source: centralizes commonly used workflows in one place.
- Reusability: leverage battle-tested templates instead of recreating similar steps across projects.
- Accelerated Development: automate build, test, package publishing, and release processes with minimal configuration.
- Error Reduction: standardized workflows help minimize human errors.
Want to understand how everything fits together?
Check out the CI/CD Workflow Architecture (Reference Model) — a high-level overview of workflows, secrets, tokens, and automation flow used across Netcracker/*
repositories.
- GitHub Release: automatically create and tag releases.
- Docker Publish: build and publish Docker images.
- Maven Publish: sign and deploy Maven artifacts to a repository.
- Python Publish: build, test, and publish Python packages.
- Release Drafter: generate draft releases based on merged pull requests. See the detailed and complete list of Reusable Workflows here Reusable Workflows
These standalone actions help you build and manage your own workflows.
- automatic-pr-labeler: automatically labels pull requests when they are opened or reopened.
- auto-labeler: labels pull requests based on Conventional Commits messages.
- cla: manages Contributor License Agreements for pull requests.
- go-check-license: checks licenses for Go modules.
- pr-collect-commit-messages: aggregates commit messages into the pull request description.
- pr-conventional-commits: enforces Conventional Commits for pull request commits.
- pr-lint-title: lints pull request titles to ensure they follow Conventional Commits.
- prettier & prettierFix: format code and fix formatting issues using Prettier.
- profanity-filter & profanityFilter: filter profanity in issues, comments, and pull requests.
- super-linter: runs a collection of linters to validate code quality.
See the detailed and complete list of Template Flows here: Template Flows.
These actions handle specialized tasks within workflows:
- archive-and-upload-assets: archives specified folders (tar, tar.gz, zip) and uploads them as release assets.
- cdxgen: generates a CycloneDX SBOM and vulnerability report, then uploads them as artifacts.
-
chart-version: automatically updates the version in a Helm
Chart.yaml
file. - commit-and-push: commits and pushes modified files with configurable author, email, and message.
- container-package-cleanup: deletes old container package versions (e.g., Docker images) based on tag and date criteria.
-
custom-event: triggers a custom
repository_dispatch
event with an optional JSON payload. - docker-action: builds and publishes Docker images via Buildx, supporting multi-platform builds and tagging.
- metadata-action: extracts metadata from the GitHub context and generates a version string based on templates.
- poetry-publisher: builds, tests, bumps version, and publishes Python packages to PyPI via Poetry.
-
pom-updater: updates specified XML nodes in Maven
pom.xml
files using XPath expressions. - pr-add-messages: collects commit messages from a pull request and adds them to its description.
-
pr-assigner: automatically assigns pull requests to users based on configuration or
CODEOWNERS
. - store-input-params: saves workflow run input parameters as a JSON artifact for later use.
- tag-action: creates, deletes, and checks Git tags in a repository with dry-run support.
-
verify-json: validates a JSON file against a provided schema using
jsonschema
.
See the detailed and complete list of Actions here Actions
You can find a wide collection of ready‑to‑use workflow templates and usage examples here: Netcracker Workflow Templates
-
Create your workflow file:
.github/workflows/ci.yml
-
Import a reusable workflow:
name: CI on: [push, pull_request] jobs: build: uses: netcracker/qubership-workflow-hub/.github/workflows/build.yml@main with: # workflow-specific inputs java-version: '11' test: 'mvn test'
- Customize inputs as needed (see workflow inputs reference).
- Commit and push to trigger your first run.
For more examples, see Workflow Templates & Examples.
Contributions welcome! Please:
- Fork the repo.
- Create a feature branch (
git checkout -b feature/XYZ
). - Add tests and documentation.
- Home
- Work Architecture
- Secrets and Access Control
- Clenup Strategy
- Standalone Docker Build
- Maven Central
- Actions