1+ name : Create Release
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*.*.*'
7+
8+ jobs :
9+ build-and-push :
10+ runs-on : ubuntu-latest
11+ permissions :
12+ contents : write
13+ packages : write
14+
15+ steps :
16+ - name : Checkout repository
17+ uses : actions/checkout@v4
18+
19+ - name : Log in to Docker Hub
20+ uses : docker/login-action@v3
21+ with :
22+ username : ${{ secrets.DOCKER_USERNAME }}
23+ password : ${{ secrets.DOCKER_PASSWORD }}
24+
25+ - name : Extract metadata (tags, labels) for Frontend
26+ id : meta-frontend
27+ uses : docker/metadata-action@v5
28+ with :
29+ images : ${{ secrets.DOCKER_USERNAME }}/kubernetes-access-manager-frontend
30+ tags : |
31+ type=semver,pattern={{version}}
32+ type=raw,value=latest,enable={{is_default_branch}}
33+
34+ - name : Extract metadata (tags, labels) for Backend
35+ id : meta-backend
36+ uses : docker/metadata-action@v5
37+ with :
38+ images : ${{ secrets.DOCKER_USERNAME }}/kubernetes-access-manager-backend
39+ tags : |
40+ type=semver,pattern={{version}}
41+ type=raw,value=latest,enable={{is_default_branch}}
42+
43+ - name : Build and push Frontend Docker image
44+ uses : docker/build-push-action@v5
45+ with :
46+ context : ./frontend
47+ push : true
48+ tags : ${{ steps.meta-frontend.outputs.tags }}
49+ labels : ${{ steps.meta-frontend.outputs.labels }}
50+
51+ - name : Build and push Backend Docker image
52+ uses : docker/build-push-action@v5
53+ with :
54+ context : ./backend
55+ push : true
56+ tags : ${{ steps.meta-backend.outputs.tags }}
57+ labels : ${{ steps.meta-backend.outputs.labels }}
58+
59+ create-release :
60+ needs : build-and-push
61+ runs-on : ubuntu-latest
62+ permissions :
63+ contents : write
64+ packages : write
65+
66+ steps :
67+ - name : Checkout repository
68+ uses : actions/checkout@v4
69+
70+ - name : Create Release
71+ id : create_release
72+ uses : softprops/action-gh-release@v1
73+ with :
74+ name : Release ${{ github.ref_name }}
75+ body : |
76+ ## What's Changed
77+
78+ ### Frontend
79+ - Updated to version ${{ github.ref_name }}
80+ - Docker image: `${{ secrets.DOCKER_USERNAME }}/kubernetes-access-manager-frontend:${{ github.ref_name }}`
81+
82+ ### Backend
83+ - Updated to version ${{ github.ref_name }}
84+ - Docker image: `${{ secrets.DOCKER_USERNAME }}/kubernetes-access-manager-backend:${{ github.ref_name }}`
85+
86+ ## Installation
87+
88+ ```bash
89+ # Pull the latest images
90+ docker pull ${{ secrets.DOCKER_USERNAME }}/kubernetes-access-manager-frontend:${{ github.ref_name }}
91+ docker pull ${{ secrets.DOCKER_USERNAME }}/kubernetes-access-manager-backend:${{ github.ref_name }}
92+
93+ # Install using Helm
94+ helm install kubernetes-access-manager ./helm/kubernetes-access-manager \
95+ --set frontend.image.tag=${{ github.ref_name }} \
96+ --set backend.image.tag=${{ github.ref_name }}
97+ ```
98+ draft : false
99+ prerelease : false
100+ generate_release_notes : true
0 commit comments