Skip to content

Commit c3ad547

Browse files
Yonah DissenYonah Dissen
authored andcommitted
CI: allow creating releases
1 parent 5518873 commit c3ad547

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed

.github/workflows/release.yml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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

Comments
 (0)