-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #136 from clobrano/automate-rh-community-bundle-0
Manual workflow for tagged versions
- Loading branch information
Showing
6 changed files
with
142 additions
and
49 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,106 @@ | ||
name: Release bundles | ||
name: Release | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
version: | ||
description: "The version to release, without the leading `v`" | ||
required: true | ||
type: string | ||
previous_version: | ||
description: "The previous version, used for the CVS's `replaces` field, without the leading `v`" | ||
required: true | ||
type: string | ||
community: | ||
description: "The community to release the bundle to" | ||
required: true | ||
type: choice | ||
default: "K8S" | ||
options: | ||
- K8S | ||
- OKD | ||
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: | ||
make_k8s_community_bundle: | ||
if: inputs.community == 'K8S' | ||
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 | ||
if: ${{ github.ref_type == 'tag' }} | ||
# https://github.com/marketplace/actions/github-release-create-update-and-upload-assets | ||
uses: meeDamian/[email protected] | ||
with: | ||
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 }} | ||
previous_version: ${{ inputs.previous_version }} | ||
community: ${{ inputs.community }} | ||
community: 'K8S' | ||
make_targets: "bundle-community-k8s" | ||
make_okd_community_bundle: | ||
if: inputs.community == 'OKD' | ||
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 }} | ||
community: ${{ inputs.community }} | ||
ocp_version: ${{ inputs.ocp_version }} | ||
community: 'OKD' | ||
make_targets: "bundle-community-rh" |
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#!/usr/bin/env bash | ||
# -*- coding: UTF-8 -*- | ||
## Compare two semantic version numbers. | ||
## Usage: | ||
## - is_version_greater_or_equal.sh 1.2.3 1.2.4 ## -1 | ||
## - is_version_greater_or_equal.sh 1.2.4 1.2.4 ## 0 | ||
## - is_version_greater_or_equal.sh 1.2.5 1.2.4 ## +1 | ||
|
||
if [ "$#" -ne 2 ]; then | ||
echo "Illegal number of parameters" | ||
exit 1 | ||
fi | ||
|
||
if [ "$1" = "$2" ]; then | ||
echo 0 | ||
else | ||
# sort the input and check if it is sorted (quietly). | ||
# `sort` will exit successfully if the given file is already sorted, and exit with status 1 otherwise. | ||
# Since we already excluded that the two versions are equal, if the input is sorted, | ||
# it means the first argument is less than the second one. | ||
# https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html#sort-invocation | ||
printf "%s\n%s\n" "$1" "$2" | sort --version-sort --check=quiet && echo -1 || echo 1 | ||
fi |