Skip to content

Netcracker/qubership-workflow-hub

Qubership Workflow Hub

A comprehensive collection of reusable GitHub Actions and Workflows, designed to streamline your CI/CD pipelines and development processes.

🔍 Overview

Centralises common CI/CD tasks (tagging, version / metadata generation, artifact & package publishing, Helm chart release, cleanup, custom events) to avoid per‑repo scripts and drift.

Key pieces:

  • Actions (single focused step) – actions/<name>/
  • Reusable workflows (multi‑job orchestration) – reusable/*.md
  • Standards & Change Policy (naming, version pinning, permissions, deprecation rules) – standards-and-change-policy.md

Core principles: deterministic (pin @v1 or SHA), least privilege (start with contents: read), composable (small actions), backwards compatible majors, observable outputs, explicit deprecation with replacement.

Use an Action for one operation (tag, compute metadata, cleanup). Use a Reusable Workflow for multi‑job pipelines (build + test + publish). Combine both freely.

Version & security: pin versions, avoid @main, run dry‑run first where supported, elevate permissions only where needed. For credential handling & tokens see Secrets & Variables.


🔑 Key Documents

Priority order (read top → bottom when starting / contributing):

# Read When Purpose Document
1 BEFORE opening any Issue/Feature Defines bug / feature / task templates Issue Guidelines
2 BEFORE opening a PR Required PR fields, title rules, labels PR Conduct
3 BEFORE forking / starting code changes Fork & sync workflow (keeping your fork current) Fork Sequence Guide
4 BEFORE changing actions/workflows Naming, version pinning, permissions, deprecation Standards & Change Policy
5 First use of the repo How to consume actions & workflows Getting Started
6 Browsing catalog Full list of actions & reusable workflows Catalog: Actions & Workflows
7 Adding secrets / vars Secure handling & scoping guidance Secrets & Variables
8 Legal prerequisite Contributor License Agreement CLA

Shortcut: contributing code? Read 1 → 2 → 3 → 4, otherwise for usage start at 5.


🚀 Getting Started

Full extended guide: see Detailed Getting Started for structure, composition patterns, permissions, versioning and checklist.

  1. Clone the repository

    git clone https://github.com/netcracker/qubership-workflow-hub.git
    cd qubership-workflow-hub
  2. Explore Actions and Workflows

    • Browse the actions/ folder for individual action packages.
    • Browse the docs/reusable/ folder for workflow templates.
  3. Use an Action Reference an action in your own workflow YAML:

    jobs:
      tag:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Create a Git Tag
            uses: netcracker/qubership-workflow-hub/actions/tag-action@main
            with:
              tag-prefix: "v"
              tag-message: "Release {{version}}"
  4. Use a Reusable Workflow Include a reusable workflow by path:

    jobs:
      release:
        uses: netcracker/qubership-workflow-hub/.github/workflows/release-drafter.yml@main
        with:
          config-file: ".github/release-drafter.yml"

    Note: Consult the individual workflow docs for specific input parameters and examples.

Need to contribute? Read the fork workflow: Fork Sequence Guide.


🔄 Catalog: Actions & Reusable Workflows

Full, always up-to-date list (active + deprecated) with short descriptions moved to a dedicated page: Actions & Workflows Catalog.

Quick starts:

  • Need a specific capability? Open the catalog and search in-page.
  • Unsure if something is deprecated? The catalog groups deprecated items separately with replacements.

📘 Standards & Change Policy

Stable interface & evolution rules (naming, inputs/outputs, version pinning, minimal permissions, security and deprecation) are documented in docs/standards-and-change-policy.md.


🤝 Contributing

We welcome contributions from the community! To contribute:

  1. Review and sign the CLA.
  2. Check the CODEOWNERS file for areas of responsibility.
  3. Open an issue to discuss your changes.
  • For bug / feature / task use the Issue Guidelines (required fields, templates, labels).
  1. Submit a pull request with tests and documentation updates.

IMPORTANT: Before opening an issue or pull request you MUST read the Contribution & PR Conduct and the Issue Guidelines. They define required issue / PR fields, labels, and formatting.


📄 License

This project is licensed under the Apache License 2.0

About

No description or website provided.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 15