1+ name : 🚀 Release
2+ permissions : read-all
3+
4+ on :
5+ release :
6+ types :
7+ - created
8+
9+ env :
10+ REGISTRY : ghcr.io
11+ IMAGE_NAME : inditextech/k8s-overcommit-operator
12+
13+ jobs :
14+ release :
15+ name : 🏷️ Release
16+ runs-on : ubuntu-latest
17+ outputs :
18+ version : ${{ steps.version.outputs.version }}
19+ values_version : ${{ steps.version.outputs.values_version }}
20+ chart_version : ${{ steps.version.outputs.chart_version }}
21+ steps :
22+ - name : 🛎️ Checkout
23+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
24+ with :
25+ fetch-depth : 0
26+ - name : 📝 Load Operator version
27+ id : version
28+ run : |
29+ echo "version=$(make print-VERSION | cut -d'=' -f2)" >> $GITHUB_OUTPUT
30+ echo "values_version=$(yq '.deployment.image.tag' chart/values.yaml)" >> $GITHUB_OUTPUT
31+ echo "chart_version=$(yq '.appVersion' chart/Chart.yaml)" >> $GITHUB_OUTPUT
32+ echo $GITHUB_OUTPUT
33+
34+ check :
35+ name : 🔎 Check versions
36+ needs : release
37+ runs-on : ubuntu-latest
38+ steps :
39+ - name : 🔎 Check versions
40+ run : |
41+ echo "version: ${{ needs.release.outputs.version }}"
42+ echo "values_version: ${{ needs.release.outputs.values_version }}"
43+ echo "chart_version: ${{ needs.release.outputs.chart_version }}"
44+ echo "tag_name: ${{ github.event.release.tag_name }}"
45+
46+ if [ "${{ github.event.release.tag_name }}" != "${{ needs.release.outputs.version }}" ]; then
47+ echo "Version in Makefile does not match release tag"
48+ exit 1
49+ fi
50+
51+ if [ "${{ github.event.release.tag_name }}" != "${{ needs.release.outputs.values_version }}" ]; then
52+ echo "Version in chart/values.yaml does not match release tag"
53+ exit 1
54+ fi
55+
56+ if [ "${{ github.event.release.tag_name }}" != "${{ needs.release.outputs.chart_version }}" ]; then
57+ echo "Version in chart/Chart.yaml does not match release tag"
58+ exit 1
59+ fi
60+
61+
62+ build :
63+ name : 🛠️ Build Operator images
64+ needs : check
65+ runs-on : ubuntu-latest
66+ permissions :
67+ contents : write
68+ packages : write
69+ steps :
70+ - name : 🛎️ Checkout
71+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
72+ with :
73+ fetch-depth : 0
74+
75+ - name : 🔐 Login into ${{ env.REGISTRY }}
76+ uses : docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
77+ with :
78+ registry : ${{ env.REGISTRY }}
79+ username : ${{ github.actor }}
80+ password : ${{ secrets.GITHUB_TOKEN }}
81+
82+ - name : 🏗️ Build and push Operator image
83+ run : |
84+ make docker-build docker-push
85+ - name : 🏗️ Build and push Operator bundle
86+ run : |
87+ make bundle
88+ make bundle-build bundle-push
89+ - name : 🏗️ Build and push Operator catalog
90+ run : |
91+ make catalog-build catalog-push
0 commit comments