Skip to content

Commit 2fb67de

Browse files
committed
Added release workflow for appserver microservices
1 parent 174e903 commit 2fb67de

File tree

2 files changed

+125
-1
lines changed

2 files changed

+125
-1
lines changed

.github/workflows/microservices-main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ jobs:
124124
echo "cache-to=type=local,dest=/tmp/.buildx-cache-new,mode=max" >> $GITHUB_OUTPUT
125125
fi
126126
127-
- name: Assemble ${{ matrix.service }}
127+
- name: Compile ${{ matrix.service }} code
128128
run: ./gradlew --no-daemon :microservices:${{ matrix.service }}:assemble
129129

130130
- name: Build docker
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
name: Appserver Jersey Release
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
env:
8+
REGISTRY: ghcr.io
9+
REPOSITORY: ${{ github.repository }}
10+
IMAGE_NAME: radar-appserver
11+
12+
jobs:
13+
upload:
14+
runs-on: ubuntu-latest
15+
permissions: write-all
16+
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
service:
21+
- project-service
22+
- user-service
23+
- gateway-service
24+
- github-service
25+
- protocol-service
26+
- task-service
27+
- cloud-messaging-service
28+
29+
steps:
30+
- uses: actions/checkout@v5
31+
32+
- uses: actions/setup-java@v5
33+
with:
34+
distribution: temurin
35+
java-version: 17
36+
37+
- name: Setup Gradle
38+
uses: gradle/actions/setup-gradle@v3
39+
40+
- name: Compile ${{ matrix.service }} code
41+
run: ./gradlew --no-daemon :microservices:${{ matrix.service }}:assemble
42+
43+
- name: Upload to GitHub
44+
uses: AButler/[email protected]
45+
with:
46+
files: 'microservices/${{ matrix.service }}/build/libs/*;microservices/${{ matrix.service }}/build/distributions/*'
47+
repo-token: ${{ secrets.GITHUB_TOKEN }}
48+
49+
docker:
50+
runs-on: ubuntu-latest
51+
permissions:
52+
contents: read
53+
packages: write
54+
55+
strategy:
56+
fail-fast: false
57+
matrix:
58+
service:
59+
- project-service
60+
- user-service
61+
- gateway-service
62+
- protocol-service
63+
- github-service
64+
- task-service
65+
- cloud-messaging-service
66+
67+
steps:
68+
- uses: actions/checkout@v4
69+
70+
- uses: actions/setup-java@v5
71+
with:
72+
distribution: temurin
73+
java-version: 17
74+
75+
- name: Setup Gradle
76+
uses: gradle/actions/setup-gradle@v3
77+
78+
- name: Set up QEMU
79+
uses: docker/setup-qemu-action@v3
80+
81+
- name: Set up Docker Buildx
82+
uses: docker/setup-buildx-action@v3
83+
84+
- name: Login to Container Registry
85+
uses: docker/login-action@v3
86+
with:
87+
registry: ${{ env.REGISTRY }}
88+
username: ${{ github.actor }}
89+
password: ${{ secrets.GITHUB_TOKEN }}
90+
91+
- name: Lowercase image name
92+
run: |
93+
echo "DOCKER_IMAGE=${REGISTRY}/${REPOSITORY,,}/${IMAGE_NAME}" >>${GITHUB_ENV}
94+
95+
# Add Docker labels and tags
96+
- name: Docker meta
97+
id: docker_meta
98+
uses: docker/metadata-action@v5
99+
with:
100+
images: ${{ env.DOCKER_IMAGE }}
101+
tags: |
102+
type=semver,pattern={{version}}
103+
type=semver,pattern={{major}}.{{minor}}
104+
105+
- name: Compile ${{ matrix.service }} code
106+
run: ./gradlew --no-daemon :microservices:${{ matrix.service }}:assemble
107+
108+
- name: Build docker
109+
uses: docker/build-push-action@v6
110+
with:
111+
platforms: linux/amd64,linux/arm64
112+
context: .
113+
push: true
114+
file: microservices/${{ matrix.service }}/Dockerfile
115+
tags: ${{ steps.docker_meta.outputs.tags }}
116+
labels: |
117+
${{ steps.docker_meta.outputs.labels }}
118+
org.opencontainers.image.vendor=RADAR-base
119+
org.opencontainers.image.licenses=Apache-2.0
120+
121+
- name: Inspect docker image
122+
run: |
123+
docker pull ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
124+
docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}

0 commit comments

Comments
 (0)