This repository has been archived by the owner on Nov 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
94 lines (70 loc) · 3.12 KB
/
sda-pipeline.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: sda-pipeline deployment
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
inbox: [posix, s3]
deployment: [federated, standalone]
cert: [issuer, manual]
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Install kube dependencies
run: bash ./dev_tools/scripts/install-kube-deps.sh
- name: Initialise k3d
run: bash ./dev_tools/scripts/init-k3d.sh
- name: Wait for k3d to become ready
run: bash ./dev_tools/scripts/wait-for-pods.sh metrics-server k8s-app kube-system
- name: Install sda dependencies
run: bash ./dev_tools/scripts/install-sda-deps.sh
- name: Create certificates
if: matrix.cert == 'manual'
run: bash ./dev_tools/scripts/make-certs.sh
- name: Create certificate issuer
if: matrix.cert == 'issuer'
run: bash ./dev_tools/scripts/deploy-cert-manager.sh
- name: Create secrets
run: bash ./dev_tools/scripts/create-secrets.sh
- name: Set up services configuration
if: matrix.cert == 'manual'
run: bash ./dev_tools/scripts/svc-setup.sh
- name: Deploy SDA database
run: bash ./dev_tools/scripts/deploy-db.sh "${{ matrix.cert }}"
- name: Wait for database to become ready
run: bash ./dev_tools/scripts/wait-for-pods.sh database
- name: Deploy mock oidc server
if: matrix.inbox == 's3'
run: bash ./dev_tools/scripts/deploy-oidc.sh
- name: Deploy minio
if: matrix.inbox == 's3'
run: bash ./dev_tools/scripts/deploy-minio.sh "${{ matrix.cert }}"
- name: Wait for minio to become ready
if: matrix.inbox == 's3'
run: bash ./dev_tools/scripts/wait-for-pods.sh minio app
- name: Create s3 buckets
if: matrix.inbox == 's3'
run: bash ./dev_tools/scripts/create-s3-buckets.sh
- name: Start CEGA services
if: matrix.deployment == 'federated'
run: bash ./dev_tools/scripts/deploy-cega.sh "${{ matrix.cert }}"
- name: Wait for CEGA to become ready
if: matrix.deployment == 'federated'
run: bash ./dev_tools/scripts/wait-for-pods.sh cega-mq app
- name: Deploy SDA message broker
run: bash ./dev_tools/scripts/deploy-mq.sh "${{ matrix.deployment }}" "${{ matrix.cert }}"
- name: Wait for broker to become ready
run: bash ./dev_tools/scripts/wait-for-pods.sh broker
- name: Deploy the SDA stack for posix
if: matrix.inbox == 'posix'
run: |
kubectl apply -f dev_tools/config/posix-volumes.yaml;
bash ./dev_tools/scripts/sda/deploy-posix.sh "${{ matrix.deployment }}" "${{ matrix.cert }}"
- name: Deploy the SDA stack for s3
if: matrix.inbox == 's3'
run: bash ./dev_tools/scripts/sda/deploy-s3.sh "${{ matrix.deployment }}" "${{ matrix.cert }}"
- name: Wait for sda to become ready
run: bash ./dev_tools/scripts/wait-for-pods.sh "${{ format('{0}_{1}_svc_list', matrix.deployment, matrix.inbox) }}"
- name: Run helm test
run: bash ./dev_tools/scripts/run-helm-test.sh