-
Notifications
You must be signed in to change notification settings - Fork 17
68 lines (60 loc) · 2.66 KB
/
release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
name: Main
on:
push:
tags:
- "v*.*.*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build
run: |
export VERSION="${{ github.ref_name }}"
for f in $(ls *bundle.yaml); do
cp ${f} ${f/\.yaml/-${VERSION}\.yaml}
done
# Install yq and use it to update each resource with an instancetype.kubevirt.io/common-instancetypes-version annotation
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O ./yq && chmod +X ./yq
yq -i '.metadata.annotations.["instancetype.kubevirt.io/common-instancetypes-version"]=env(VERSION)' *bundle-${VERSION}.yaml
- name: Release
id: release
uses: softprops/action-gh-release@v1
with:
files: |
*bundle-${{ github.ref_name }}.yaml
LICENSE
- name: Update SSP Operator
run: |
# Define vars
export VERSION="${{ github.ref_name }}"
export RELEASE_FORK_USER=lyarwood
# Set git configs to sign the commit
git config --global user.email "${RELEASE_FORK_USER}@redhat.com"
git config --global user.name "common-instancetypes Release Automation"
# Clone repo and use a token to allow pushing before creating a PR
git clone https://github.com/kubevirt/ssp-operator && cd ssp-operator
git checkout origin/master -b update-common-instancetypes-${VERSION}
# Update the new common-instancetypes file
cp ../common-clusterinstancetypes-bundle.yaml data/common-instancetypes-bundle/
cp ../common-clusterpreferences-bundle.yaml data/common-instancetypes-bundle/
git add data && git commit -sm "common-instancetypes: Update bundle to version ${VERSION}"
git remote add release https://${RELEASE_FORK_USER}:${{ secrets.RELEASE_FORK_TOKEN }}@github.com/${RELEASE_FORK_USER}/ssp-operator
git push -f -u release update-common-instancetypes-${VERSION}
# Create a new PR in the operator repo
GH_TOKEN=${{ secrets.RELEASE_FORK_TOKEN }} gh pr create --repo kubevirt/ssp-operator \
--base master \
--head ${RELEASE_FORK_USER}:update-common-instancetypes-${VERSION} \
--title "Update common-instancetypes to ${VERSION}" \
--body "$(cat << EOF
common-instancetypes: Update bundle to ${VERSION}
${{ steps.release.outputs.url }}
**Release note**:
\`\`\`release-note
Update common-instancetypes bundle to ${VERSION}
\`\`\`
EOF
)
"