Skip to content

Commit c000cdf

Browse files
committed
Make deployment job only run after build images works
1 parent 2f9f224 commit c000cdf

File tree

2 files changed

+10
-92
lines changed

2 files changed

+10
-92
lines changed

.github/workflows/deploy-kubernetes.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
name: Deploy StudyMate to Kubernetes
22

33
on:
4-
push:
4+
workflow_run:
5+
workflows: ["Build StudyMate Images"]
6+
types:
7+
- completed
58
branches: [main]
6-
paths:
7-
- 'client/**'
8-
- 'server/**'
9-
- 'genAi/**'
10-
- 'infra/helm/**'
119
workflow_dispatch:
1210
inputs:
1311
domain:
@@ -18,6 +16,7 @@ on:
1816
jobs:
1917
deploy-kubernetes:
2018
runs-on: ubuntu-latest
19+
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
2120

2221
env:
2322
HELM_NAMESPACE: study-mate

.github/workflows/deploy_aws.yml

Lines changed: 5 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,18 @@
11
name: Deploy to AWS
22

33
on:
4-
push:
4+
workflow_run:
5+
workflows: ["Build StudyMate Images"]
6+
types:
7+
- completed
58
branches: [main]
69
workflow_dispatch:
710

811

912
jobs:
10-
build-and-push:
11-
runs-on: ubuntu-latest
12-
permissions:
13-
contents: read
14-
packages: write
15-
16-
env:
17-
COMMIT_SHA: ${{ github.sha }}
18-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19-
GITHUB_ACTOR: ${{ github.actor }}
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
25-
- name: Login to GitHub Container Registry
26-
uses: docker/login-action@v3
27-
with:
28-
registry: ghcr.io
29-
username: ${{ github.actor }}
30-
password: ${{ secrets.GITHUB_TOKEN }}
31-
32-
# Build and Push Microservices (using multi-stage Docker builds)
33-
- name: Build and push auth-service
34-
run: |
35-
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA} ./server/auth-service
36-
docker push ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA}
37-
38-
- name: Build and push document-service
39-
run: |
40-
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ./server/document-service
41-
docker push ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA}
42-
43-
- name: Build and push genai-service
44-
run: |
45-
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ./server/genai-service
46-
docker push ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA}
47-
48-
- name: Build and push eureka-server
49-
run: |
50-
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ./server/eureka-server
51-
docker push ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA}
52-
53-
- name: Build and push client for EC2
54-
run: |
55-
docker build --platform linux/amd64 --build-arg VITE_API_BASE_URL=https://studymate-tum.xyz -t ghcr.io/aet-devops25/team-3/client:ec2-${COMMIT_SHA} ./client
56-
docker push ghcr.io/aet-devops25/team-3/client:ec2-${COMMIT_SHA}
57-
58-
- name: Build and push genai
59-
run: |
60-
docker build --platform linux/amd64 -t ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ./genAi
61-
docker push ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA}
62-
63-
# Tag and push as latest
64-
- name: Tag and push auth-service as latest
65-
run: |
66-
docker tag ghcr.io/aet-devops25/team-3/auth-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/auth-service:latest
67-
docker push ghcr.io/aet-devops25/team-3/auth-service:latest
68-
69-
- name: Tag and push document-service as latest
70-
run: |
71-
docker tag ghcr.io/aet-devops25/team-3/document-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/document-service:latest
72-
docker push ghcr.io/aet-devops25/team-3/document-service:latest
73-
74-
- name: Tag and push genai-service as latest
75-
run: |
76-
docker tag ghcr.io/aet-devops25/team-3/genai-service:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai-service:latest
77-
docker push ghcr.io/aet-devops25/team-3/genai-service:latest
78-
79-
- name: Tag and push eureka-server as latest
80-
run: |
81-
docker tag ghcr.io/aet-devops25/team-3/eureka-server:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/eureka-server:latest
82-
docker push ghcr.io/aet-devops25/team-3/eureka-server:latest
83-
84-
- name: Tag and push client as ec2-latest
85-
run: |
86-
docker tag ghcr.io/aet-devops25/team-3/client:ec2-${COMMIT_SHA} ghcr.io/aet-devops25/team-3/client:ec2-latest
87-
docker push ghcr.io/aet-devops25/team-3/client:ec2-latest
88-
89-
- name: Tag and push genai as latest
90-
run: |
91-
docker tag ghcr.io/aet-devops25/team-3/genai:${COMMIT_SHA} ghcr.io/aet-devops25/team-3/genai:latest
92-
docker push ghcr.io/aet-devops25/team-3/genai:latest
93-
9413
deploy-aws:
95-
needs: build-and-push
9614
runs-on: ubuntu-latest
15+
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
9716
env:
9817
COMMIT_SHA: ${{ github.sha }}
9918

0 commit comments

Comments
 (0)