-
Notifications
You must be signed in to change notification settings - Fork 350
170 lines (134 loc) · 4.29 KB
/
debops-ci-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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
---
# Copyright (C) 2021 Maciej Delmanowski <[email protected]>
# Copyright (C) 2023 Berkhan Berkdemir <[email protected]>
# Copyright (C) 2021-2024 DebOps <https://debops.org/>
# SPDX-License-Identifier: GPL-3.0-or-later
# TODO: The CI pipeline is not finished yet, it needs more work around
# preparing the environment and Ansible configuration for execution.
name: 'DebOps CI Pipeline'
on: [ 'push', 'pull_request' ]
jobs:
bootstrap_playbook:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the playbook on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
debops run bootstrap --diff
debops run bootstrap --diff
common_playbook:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the playbook on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
debops run common --diff
debops run common --diff
apt_role:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the role on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
debops run service/apt --diff
debops run service/apt --diff
apt_listchanges_role:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the role on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
debops run service/apt_listchanges --diff
debops run service/apt_listchanges --diff
mariadb_server_role:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the role on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
cat <<EOL >> ansible/inventory/hosts
[debops_service_mariadb_server]
localhost
EOL
debops run service/mariadb_server --diff
debops run service/mariadb_server --diff
postgresql_server_role:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the role on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
cat <<EOL >> ansible/inventory/hosts
[debops_service_postgresql_server]
localhost
EOL
debops run service/postgresql_server --diff
debops run service/postgresql_server --diff
python_role:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare the CI pipeline environment
uses: './.github/workflows/prepare-ci-pipeline'
- name: Apply the role on the host
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
run: |
source venv/bin/activate
cd ~/src/controller
cat <<EOL >> ansible/inventory/hosts
[debops_service_python]
localhost
EOL
debops run service/python --diff
debops run service/python --diff