Release #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
workflow_dispatch: | |
inputs: | |
operation: | |
description: "The operation to perform." | |
required: true | |
type: choice | |
default: "build_and_push_images" | |
options: | |
- build_and_push_images | |
- create_okd_release_pr | |
- create_k8s_release_pr | |
version: | |
description: "The version to release, without the leading `v`" | |
required: true | |
previous_version: | |
description: "The previous version, used for the CVS's `replaces` field, without the leading `v`" | |
required: false | |
ocp_version: | |
description: "The target OCP version for the release (mandatory for create_okd_release_pr option)" | |
required: false | |
permissions: | |
contents: write | |
jobs: | |
push_to_registry: | |
if: ${{ inputs.operation == 'build_and_push_images' }} | |
name: Build and push images to quay.io/medik8s | |
runs-on: ubuntu-22.04 | |
env: | |
VERSION: ${{ inputs.version }} | |
PREVIOUS_VERSION: ${{ inputs.previous_version }} | |
OCP_VERSION: ${{ inputs.ocp_version }} | |
steps: | |
- name: Log inputs | |
run: | | |
echo "Building version: ${VERSION}," | |
echo "replaces version (optional): ${PREVIOUS_VERSION}," | |
echo "OCP version (optional): ${OCP_VERSION}." | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
- name: Log in to Quay.io | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.QUAY_USERNAME }} | |
password: ${{ secrets.QUAY_PASSWORD }} | |
registry: quay.io | |
- name: Build and push versioned CSV and images | |
run: VERSION=$VERSION PREVIOUS_VERSION=$PREVIOUS_VERSION make container-build-and-push-community | |
- name: Create release with manifests | |
# https://github.com/marketplace/actions/github-release-create-update-and-upload-assets | |
uses: meeDamian/[email protected] | |
with: | |
tag: v${{ inputs.version }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
draft: true | |
body: | | |
# Fence Agents Remediation ${{ github.ref_name }} | |
## Notable Changes | |
* TODO | |
## Release Artifacts | |
### Images | |
* Operator: quay.io/medik8s/fence-agents-remediation-operator:${{ github.ref_name }} | |
* Bundle: quay.io/medik8s/fence-agents-remediation-operator-bundle:${{ github.ref_name }} | |
* Catalog aka Index: quay.io/medik8s/fence-agents-remediation-operator-catalog:${{ github.ref_name }} | |
### Source code and OLM manifests | |
Please find the source code and the OLM manifests in the `Assets` section below. | |
gzip: folders | |
files: > | |
Manifests:bundle/ | |
create_k8s_release_pr: | |
if: inputs.operation == 'create_k8s_release_pr' | |
uses: medik8s/.github/.github/workflows/release_community_bundle_parametric.yaml@main | |
secrets: inherit | |
with: | |
version: ${{ inputs.version }} | |
community: 'K8S' | |
make_targets: "bundle-community-k8s" | |
create_okd_release_pr: | |
if: inputs.operation == 'create_okd_release_pr' | |
uses: medik8s/.github/.github/workflows/release_community_bundle_parametric.yaml@main | |
secrets: inherit | |
with: | |
version: ${{ inputs.version }} | |
previous_version: ${{ inputs.previous_version }} | |
ocp_version: ${{ inputs.ocp_version }} | |
community: 'OKD' | |
make_targets: "bundle-community-rh" |