Skip to content

Standalone Docker Release

Pavel Anikin edited this page May 6, 2025 · 1 revision

🐳 Standalone Docker Release Workflow

This GitHub Actions workflow automates the release of Docker images for the Qubership Logging Operator and the corresponding Helm chart version bump. It is triggered on workflow_dispatch, where you must supply the release version and can optionally run in dry-run mode.

🚀 Workflow Overview

The Release workflow is broken into three main jobs:

  1. Load Docker Build Components Reads and validates the list of components and target platforms from .github/docker-release-config.json.

  2. Prepare Chart & Tag Release

    • Updates the Chart.yaml with the new version.
    • Commits and pushes the chart changes.
    • Creates the Git tag v<version> for the release.
  3. Docker Build & Release

    • Uses a matrix strategy to build Docker images for each component-platform pair.
    • All application build steps (compile, test, package) run inside the Docker container, ensuring a consistent, isolated build environment.
    • Drafts a GitHub Release and uploads the ./dist artifacts as release assets.

Workflof schema

Self Contained Docker Release schema

Inputs:

  • version (string, required) – release version (e.g. 1.2.3)
  • dry-run (boolean, default true) – run without pushing/tagging
  • path-to-chart (string, default ./charts/qubership-logging-operator/Chart.yaml) – path to Chart.yaml

Permissions

This workflow requires specific permissions:

  • contents: Write access to the repository contents.
  • packages: Write access to manage pull request statuses.
  • statuses: Write access to set the status of the workflow.
  • actions: Write access to trigger actions in the workflow.

Clone this wiki locally