Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 2.2 KB

File metadata and controls

54 lines (39 loc) · 2.2 KB

Release Process

This document outlines the steps involved in the release process for the NGINX Prometheus Exporter.

Table of Contents

Versioning

The project follows Semantic Versioning.

Release Planning and Development

The features that will go into the next release are reflected in the corresponding milestone. Refer to the Issue Lifecycle document for information on issue creation and assignment to releases.

Releasing a New Version

  1. Create an issue to define and track release-related activities. Choose a title that follows the format Release X.Y.Z.

  2. Stop merging any new work into the main branch.

  3. Check the release draft under the GitHub releases page to ensure that everything is in order.

  4. Create a PR to update the version in the Makefile and README to the new version, and any other necessary changes.

  5. Once the PR is merged, run the release workflow called Release NGINX Prometheus Exporter with the new version for the version input:

    inputs.version: 1.5.1
    

    You can optionally use the following inputs:

    inputs.dry_run # Run the release but don't push or publish any artifacts.
    inputs.goreleaser_args # Any additional `goreleaser` args you want to pass.
    inputs.skip_jobs # Comma separated list of jobs to be skipped, useful for reruns.
    inputs.branch # Branch to release from (e.g., when re-running a previous release)
    

    As a result, the CI/CD pipeline will:

    • Build the Docker image and push it to the registries.
    • Publish the release to Homebrew, Scoop, and Nix.
    • Create a GitHub release with the autogenerated changelog and artifacts attached.