Skip to content

Bump KUBEVIRT to v1.0.1 (#2571) #31

Bump KUBEVIRT to v1.0.1 (#2571)

Bump KUBEVIRT to v1.0.1 (#2571) #31

name: Publish Tagged Version to Community Operators
on:
push:
tags:
- v1.*
jobs:
publish_hco:
if: (github.repository == 'kubevirt/hyperconverged-cluster-operator' && !contains(github.ref, 'unstable'))
name: Publish HCO tagged version to community-operators
runs-on: ubuntu-latest
env:
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
REGISTRY_NAMESPACE: kubevirt
OPM_VERSION: v1.26.2
steps:
- name: resolve the correct branch of the tag
run: |
GIT_TAG=${{ github.ref }}
TAGGED_VERSION=${GIT_TAG##*/v}
TAGGED_MINOR_VERSION=${TAGGED_VERSION%.*}
REPO_BRANCHES=$(curl https://api.github.com/repos/kubevirt/hyperconverged-cluster-operator/branches | jq .[].name)
if [[ "${REPO_BRANCHES[@]}" =~ "release-${TAGGED_MINOR_VERSION}" ]]
then
TARGET_BRANCH=release-${TAGGED_MINOR_VERSION}
else
TARGET_BRANCH=main
fi
echo "TARGET_BRANCH=${TARGET_BRANCH}" >> $GITHUB_ENV
echo "TAGGED_VERSION=${TAGGED_VERSION}" >> $GITHUB_ENV
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: '1.19'
- name: Checkout the latest code of ${{ env.TARGET_BRANCH }} branch
uses: actions/checkout@v3
with:
ref: ${{ env.TARGET_BRANCH }}
fetch-depth: 2
- name: Get latest version on ${{ env.TARGET_BRANCH }} branch
run: |
PACKAGE_DIR="./deploy/olm-catalog/community-kubevirt-hyperconverged"
CSV_VERSION=$(ls -d ${PACKAGE_DIR}/*/ | sort -rV | awk "NR==1" | cut -d '/' -f 5)
echo "CSV_VERSION=${CSV_VERSION}" >> $GITHUB_ENV
echo "PACKAGE_DIR=${PACKAGE_DIR}" >> $GITHUB_ENV
- name: Build Applications Images
env:
IMAGE_TAG: ${{ env.CSV_VERSION }}
run: |
IMAGE_TAG=${CSV_VERSION} make container-build
- name: Push Application Images
env:
IMAGE_TAG: ${{ env.CSV_VERSION }}
run: |
IMAGE_TAG=${IMAGE_TAG} make container-push
- name: Build Digester
run: |
(cd tools/digester && go build .)
- name: Build Manifests for version ${{ env.CSV_VERSION }}
env:
PACKAGE_DIR: ${{ env.PACKAGE_DIR }}
CSV_VERSION: ${{ env.CSV_VERSION }}
run: |
export HCO_OPERATOR_IMAGE=$(tools/digester/digester --image="quay.io/kubevirt/hyperconverged-cluster-operator:${CSV_VERSION}")
export HCO_WEBHOOK_IMAGE=$(tools/digester/digester --image="quay.io/kubevirt/hyperconverged-cluster-webhook:${CSV_VERSION}")
./hack/build-manifests.sh
sed -i "/^ \+replaces:/d" ${PACKAGE_DIR}/${CSV_VERSION}/manifests/kubevirt-hyperconverged-operator.v${CSV_VERSION}.clusterserviceversion.yaml
- name: Get opm client
run: |
wget https://github.com/operator-framework/operator-registry/releases/download/${OPM_VERSION}/linux-amd64-opm
chmod +x linux-amd64-opm
- name: Build and Push the Index Image
run: |
export OPM=$(pwd)/linux-amd64-opm
./hack/build-index-image.sh ${{ env.CSV_VERSION }}
- name: Run Publisher script
run: |
export TAGGED_VERSION=${{ env.TAGGED_VERSION }}
export TARGET_BRANCH=${{ env.TARGET_BRANCH }}
export HCO_BOT_TOKEN=${{ secrets.HCO_BOT_TOKEN }}
curl https://raw.githubusercontent.com/kubevirt/hyperconverged-cluster-operator/main/automation/publisher/publisher.sh | bash