12
12
test :
13
13
runs-on : ubuntu-latest
14
14
name : Run Test Cases
15
+
16
+ services :
17
+ mariadb :
18
+ image : mariadb:latest
19
+ ports :
20
+ - 3306:3306
21
+ env :
22
+ MARIADB_DATABASE : openbudgeteer
23
+ MARIADB_USER : openbudgeteer
24
+ MARIADB_PASSWORD : openbudgeteer
25
+ MARIADB_ROOT_PASSWORD : openbudgeteer
26
+ options : >-
27
+ --health-cmd="healthcheck.sh --connect --innodb_initialized"
28
+ --health-interval=10s
29
+ --health-timeout=5s
30
+ --health-retries=3
31
+
15
32
steps :
16
33
- name : Check out repo
17
34
uses : actions/checkout@v3
@@ -28,10 +45,47 @@ jobs:
28
45
run : dotnet build OpenBudgeteer.Blazor --configuration Release --no-restore
29
46
30
47
- name : Run Core Test Cases
48
+ env :
49
+ CONNECTION_PROVIDER : mariadb
50
+ CONNECTION_SERVER : localhost
51
+ CONNECTION_PORT : 3306
52
+ CONNECTION_USER : openbudgeteer
53
+ CONNECTION_PASSWORD : openbudgeteer
54
+ CONNECTION_DATABASE : openbudgeteer
31
55
run : dotnet test OpenBudgeteer.Core.Test
32
- deploy-docker :
56
+
57
+ deploy-docker-app :
33
58
runs-on : ubuntu-latest
34
- name : Build and Push Docker Image
59
+ name : Build and Push Docker Image (App)
60
+ needs : test
61
+ if : success()
62
+ steps :
63
+ - name : Check out repo
64
+ uses : actions/checkout@v3
65
+
66
+ - name : Docker Login
67
+ uses : docker/login-action@v2
68
+ with :
69
+ username : ${{ secrets.DOCKERHUB_USERNAME }}
70
+ password : ${{ secrets.DOCKERHUB_TOKEN }}
71
+
72
+ - name : Set up QEMU
73
+ uses : docker/setup-qemu-action@v2
74
+
75
+ - name : Set up Docker Buildx
76
+ uses : docker/setup-buildx-action@v2
77
+
78
+ - name : Build and push Docker image
79
+ uses : docker/build-push-action@v4
80
+ with :
81
+ context : .
82
+ push : true
83
+ tags : axelander/openbudgeteer:pre-release
84
+ platforms : linux/arm64,linux/amd64
85
+
86
+ deploy-docker-api :
87
+ runs-on : ubuntu-latest
88
+ name : Build and Push Docker Image (API)
35
89
needs : test
36
90
if : success()
37
91
steps :
0 commit comments