1
1
---
2
2
3
3
concurrency :
4
- group : stackhpc-pull-request-${{ github.event.pull_request.number || github. ref }}
4
+ group : stackhpc-pull-request-${{ github.ref }}
5
5
cancel-in-progress : true
6
6
7
7
name : Pull request
8
8
' on ' :
9
- pull_request :
9
+ push :
10
10
jobs :
11
11
# Detect which files have changed and use this to run jobs conditionally.
12
12
# Note that we can't use the workflow-level paths attribute since this
18
18
pull-requests : read
19
19
name : Check changed files
20
20
if : github.repository == 'stackhpc/stackhpc-kayobe-config'
21
- needs :
22
- - lint
21
+ # needs:
22
+ # - lint
23
23
# - tox
24
24
outputs :
25
25
aio : ${{ steps.changes.outputs.aio }}
@@ -36,78 +36,78 @@ jobs:
36
36
# Filters are defined in this file.
37
37
filters : .github/path-filters.yml
38
38
39
- tox :
40
- runs-on : ubuntu-24.04
41
- permissions : {}
42
- strategy :
43
- matrix :
44
- include :
45
- - environment : pep8
46
- python-version : " 3.12"
47
- - environment : releasenotes
48
- python-version : " 3.12"
49
- - environment : docs
50
- python-version : " 3.12"
51
- name : Tox ${{ matrix.environment }} with Python ${{ matrix.python-version }}
52
- if : github.repository == 'stackhpc/stackhpc-kayobe-config'
53
- steps :
54
- - name : GitHub Checkout 🛎
55
- uses : actions/checkout@v4
56
- with :
57
- fetch-depth : 0
58
- - name : Setup Python ${{ matrix.python-version }} 🐍
59
- uses : actions/setup-python@v5
60
- with :
61
- python-version : ${{ matrix.python-version }}
62
- - name : Install Tox 📦
63
- run : pip install tox
64
- - name : Run Tox ${{ matrix.environment }} 🧪
65
- run : tox -e ${{ matrix.environment }}
66
-
67
- lint :
68
- runs-on : ubuntu-24.04
69
- permissions : {}
70
- strategy :
71
- fail-fast : false
72
- matrix :
73
- include :
74
- # NOTE(upgrade): Keep these in sync with Kayobe's supported Ansible and Python versions (see release notes).
75
- - ansible : " 2.18"
76
- python : " 3.12"
77
- - ansible : " 2.17"
78
- python : " 3.10"
79
- name : Ansible ${{ matrix.ansible }} lint with Python ${{ matrix.python }}
80
- if : github.repository == 'stackhpc/stackhpc-kayobe-config'
81
- steps :
82
- - name : GitHub Checkout 🛎
83
- uses : actions/checkout@v4
84
-
85
- - name : Setup Python ${{ matrix.python-version }} 🐍
86
- uses : actions/setup-python@v4
87
- with :
88
- python-version : ${{ matrix.python }}
89
-
90
- - name : Install dependencies 📦
91
- run : |
92
- python -m pip install --upgrade pip
93
- pip install ansible-core==${{ matrix.ansible }}.* ansible-lint -r requirements.txt
94
-
95
- - name : Install Ansible Galaxy collections and roles
96
- run : |
97
- ansible-galaxy collection install -r etc/kayobe/ansible/requirements.yml
98
- ansible-galaxy role install -r etc/kayobe/ansible/requirements.yml
99
-
100
- - name : Linting code 🧪
101
- run : |
102
- ansible-lint -v --force-color etc/kayobe/ansible/.
103
-
104
- # A skipped job is treated as success when used as a required status check.
105
- # The registered required status checks refer to the name of the job in the
106
- # called reusable workflow rather than the jobs in this file. The following
107
- # jobs need to run unconditionally to allow GitHub required status checks to
108
- # pass even when there are changed files. The `! failure()` condition runs
109
- # when the parent jobs completed successfully or were skipped. We pass an
110
- # 'if' argument to the called workflow to allow running it conditionally.
39
+ # tox:
40
+ # runs-on: ubuntu-24.04
41
+ # permissions: {}
42
+ # strategy:
43
+ # matrix:
44
+ # include:
45
+ # - environment: pep8
46
+ # python-version: "3.12"
47
+ # - environment: releasenotes
48
+ # python-version: "3.12"
49
+ # - environment: docs
50
+ # python-version: "3.12"
51
+ # name: Tox ${{ matrix.environment }} with Python ${{ matrix.python-version }}
52
+ # if: github.repository == 'stackhpc/stackhpc-kayobe-config'
53
+ # steps:
54
+ # - name: GitHub Checkout 🛎
55
+ # uses: actions/checkout@v4
56
+ # with:
57
+ # fetch-depth: 0
58
+ # - name: Setup Python ${{ matrix.python-version }} 🐍
59
+ # uses: actions/setup-python@v5
60
+ # with:
61
+ # python-version: ${{ matrix.python-version }}
62
+ # - name: Install Tox 📦
63
+ # run: pip install tox
64
+ # - name: Run Tox ${{ matrix.environment }} 🧪
65
+ # run: tox -e ${{ matrix.environment }}
66
+
67
+ # lint:
68
+ # runs-on: ubuntu-24.04
69
+ # permissions: {}
70
+ # strategy:
71
+ # fail-fast: false
72
+ # matrix:
73
+ # include:
74
+ # # NOTE(upgrade): Keep these in sync with Kayobe's supported Ansible and Python versions (see release notes).
75
+ # - ansible: "2.18"
76
+ # python: "3.12"
77
+ # - ansible: "2.17"
78
+ # python: "3.10"
79
+ # name: Ansible ${{ matrix.ansible }} lint with Python ${{ matrix.python }}
80
+ # if: github.repository == 'stackhpc/stackhpc-kayobe-config'
81
+ # steps:
82
+ # - name: GitHub Checkout 🛎
83
+ # uses: actions/checkout@v4
84
+
85
+ # - name: Setup Python ${{ matrix.python-version }} 🐍
86
+ # uses: actions/setup-python@v4
87
+ # with:
88
+ # python-version: ${{ matrix.python }}
89
+
90
+ # - name: Install dependencies 📦
91
+ # run: |
92
+ # python -m pip install --upgrade pip
93
+ # pip install ansible-core==${{ matrix.ansible }}.* ansible-lint -r requirements.txt
94
+
95
+ # - name: Install Ansible Galaxy collections and roles
96
+ # run: |
97
+ # ansible-galaxy collection install -r etc/kayobe/ansible/requirements.yml
98
+ # ansible-galaxy role install -r etc/kayobe/ansible/requirements.yml
99
+
100
+ # - name: Linting code 🧪
101
+ # run: |
102
+ # ansible-lint -v --force-color etc/kayobe/ansible/.
103
+
104
+ # # A skipped job is treated as success when used as a required status check.
105
+ # # The registered required status checks refer to the name of the job in the
106
+ # # called reusable workflow rather than the jobs in this file. The following
107
+ # # jobs need to run unconditionally to allow GitHub required status checks to
108
+ # # pass even when there are changed files. The `! failure()` condition runs
109
+ # # when the parent jobs completed successfully or were skipped. We pass an
110
+ # # 'if' argument to the called workflow to allow running it conditionally.
111
111
112
112
build-kayobe-image :
113
113
name : Build Kayobe Image
@@ -130,109 +130,109 @@ jobs:
130
130
secrets : inherit
131
131
if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
132
132
133
- all-in-one-ubuntu-noble-ovn :
134
- name : aio (Ubuntu Noble OVN)
135
- needs :
136
- - check-changes
137
- - build-kayobe-image
138
- uses : ./.github/workflows/stackhpc-all-in-one.yml
139
- with :
140
- kayobe_image : ${{ needs.build-kayobe-image.outputs.kayobe_image }}
141
- os_distribution : ubuntu
142
- os_release : noble
143
- ssh_username : ubuntu
144
- neutron_plugin : ovn
145
- OS_CLOUD : openstack
146
- if : ${{ needs.check-changes.outputs.aio == 'true' }}
147
- secrets : inherit
148
- if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
149
-
150
- all-in-one-rocky-9-ovs :
151
- name : aio (Rocky 9 OVS)
152
- needs :
153
- - check-changes
154
- - build-kayobe-image
155
- uses : ./.github/workflows/stackhpc-all-in-one.yml
156
- with :
157
- kayobe_image : ${{ needs.build-kayobe-image.outputs.kayobe_image }}
158
- os_distribution : rocky
159
- os_release : " 9"
160
- ssh_username : cloud-user
161
- neutron_plugin : ovs
162
- OS_CLOUD : openstack
163
- if : ${{ needs.check-changes.outputs.aio == 'true' }}
164
- secrets : inherit
165
- if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
166
-
167
- all-in-one-rocky-9-ovn :
168
- name : aio (Rocky 9 OVN)
169
- needs :
170
- - check-changes
171
- - build-kayobe-image
172
- uses : ./.github/workflows/stackhpc-all-in-one.yml
173
- with :
174
- kayobe_image : ${{ needs.build-kayobe-image.outputs.kayobe_image }}
175
- os_distribution : rocky
176
- os_release : " 9"
177
- ssh_username : cloud-user
178
- neutron_plugin : ovn
179
- OS_CLOUD : openstack
180
- if : ${{ needs.check-changes.outputs.aio == 'true' }}
181
- secrets : inherit
182
- if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
183
-
184
- # Test two upgrade scenarios: Ubuntu Jammy to Noble OVN and Rocky 9 OVN.
185
-
186
- all-in-one-upgrade-ubuntu-jammy-to-noble-ovn :
187
- name : aio upgrade (Ubuntu Jammy to Noble OVN)
188
- needs :
189
- - check-changes
190
- - build-kayobe-image
191
- uses : ./.github/workflows/stackhpc-all-in-one.yml
192
- with :
193
- kayobe_image : ${{ needs.build-kayobe-image.outputs.kayobe_image }}
194
- os_distribution : ubuntu
195
- os_release : jammy
196
- ssh_username : ubuntu
197
- neutron_plugin : ovn
198
- OS_CLOUD : openstack
199
- if : ${{ needs.check-changes.outputs.aio == 'true' }}
200
- upgrade : true
201
- secrets : inherit
202
- if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
203
-
204
- all-in-one-upgrade-rocky-9-ovn :
205
- name : aio upgrade (Rocky 9 OVN)
206
- needs :
207
- - check-changes
208
- - build-kayobe-image
209
- uses : ./.github/workflows/stackhpc-all-in-one.yml
210
- with :
211
- kayobe_image : ${{ needs.build-kayobe-image.outputs.kayobe_image }}
212
- os_distribution : rocky
213
- os_release : " 9"
214
- ssh_username : cloud-user
215
- neutron_plugin : ovn
216
- OS_CLOUD : openstack
217
- if : ${{ needs.check-changes.outputs.aio == 'true' }}
218
- upgrade : true
219
- secrets : inherit
220
- if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
221
-
222
- all-in-one-upgrade-rocky-9-ovs :
223
- name : aio upgrade (Rocky 9 OVS)
224
- needs :
225
- - check-changes
226
- - build-kayobe-image
227
- uses : ./.github/workflows/stackhpc-all-in-one.yml
228
- with :
229
- kayobe_image : ${{ needs.build-kayobe-image.outputs.kayobe_image }}
230
- os_distribution : rocky
231
- os_release : " 9"
232
- ssh_username : cloud-user
233
- neutron_plugin : ovs
234
- OS_CLOUD : openstack
235
- if : ${{ needs.check-changes.outputs.aio == 'true' }}
236
- upgrade : true
237
- secrets : inherit
238
- if : ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
133
+ # all-in-one-ubuntu-noble-ovn:
134
+ # name: aio (Ubuntu Noble OVN)
135
+ # needs:
136
+ # - check-changes
137
+ # - build-kayobe-image
138
+ # uses: ./.github/workflows/stackhpc-all-in-one.yml
139
+ # with:
140
+ # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
141
+ # os_distribution: ubuntu
142
+ # os_release: noble
143
+ # ssh_username: ubuntu
144
+ # neutron_plugin: ovn
145
+ # OS_CLOUD: openstack
146
+ # if: ${{ needs.check-changes.outputs.aio == 'true' }}
147
+ # secrets: inherit
148
+ # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
149
+
150
+ # all-in-one-rocky-9-ovs:
151
+ # name: aio (Rocky 9 OVS)
152
+ # needs:
153
+ # - check-changes
154
+ # - build-kayobe-image
155
+ # uses: ./.github/workflows/stackhpc-all-in-one.yml
156
+ # with:
157
+ # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
158
+ # os_distribution: rocky
159
+ # os_release: "9"
160
+ # ssh_username: cloud-user
161
+ # neutron_plugin: ovs
162
+ # OS_CLOUD: openstack
163
+ # if: ${{ needs.check-changes.outputs.aio == 'true' }}
164
+ # secrets: inherit
165
+ # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
166
+
167
+ # all-in-one-rocky-9-ovn:
168
+ # name: aio (Rocky 9 OVN)
169
+ # needs:
170
+ # - check-changes
171
+ # - build-kayobe-image
172
+ # uses: ./.github/workflows/stackhpc-all-in-one.yml
173
+ # with:
174
+ # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
175
+ # os_distribution: rocky
176
+ # os_release: "9"
177
+ # ssh_username: cloud-user
178
+ # neutron_plugin: ovn
179
+ # OS_CLOUD: openstack
180
+ # if: ${{ needs.check-changes.outputs.aio == 'true' }}
181
+ # secrets: inherit
182
+ # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
183
+
184
+ # # Test two upgrade scenarios: Ubuntu Jammy to Noble OVN and Rocky 9 OVN.
185
+
186
+ # all-in-one-upgrade-ubuntu-jammy-to-noble-ovn:
187
+ # name: aio upgrade (Ubuntu Jammy to Noble OVN)
188
+ # needs:
189
+ # - check-changes
190
+ # - build-kayobe-image
191
+ # uses: ./.github/workflows/stackhpc-all-in-one.yml
192
+ # with:
193
+ # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
194
+ # os_distribution: ubuntu
195
+ # os_release: jammy
196
+ # ssh_username: ubuntu
197
+ # neutron_plugin: ovn
198
+ # OS_CLOUD: openstack
199
+ # if: ${{ needs.check-changes.outputs.aio == 'true' }}
200
+ # upgrade: true
201
+ # secrets: inherit
202
+ # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
203
+
204
+ # all-in-one-upgrade-rocky-9-ovn:
205
+ # name: aio upgrade (Rocky 9 OVN)
206
+ # needs:
207
+ # - check-changes
208
+ # - build-kayobe-image
209
+ # uses: ./.github/workflows/stackhpc-all-in-one.yml
210
+ # with:
211
+ # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
212
+ # os_distribution: rocky
213
+ # os_release: "9"
214
+ # ssh_username: cloud-user
215
+ # neutron_plugin: ovn
216
+ # OS_CLOUD: openstack
217
+ # if: ${{ needs.check-changes.outputs.aio == 'true' }}
218
+ # upgrade: true
219
+ # secrets: inherit
220
+ # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
221
+
222
+ # all-in-one-upgrade-rocky-9-ovs:
223
+ # name: aio upgrade (Rocky 9 OVS)
224
+ # needs:
225
+ # - check-changes
226
+ # - build-kayobe-image
227
+ # uses: ./.github/workflows/stackhpc-all-in-one.yml
228
+ # with:
229
+ # kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
230
+ # os_distribution: rocky
231
+ # os_release: "9"
232
+ # ssh_username: cloud-user
233
+ # neutron_plugin: ovs
234
+ # OS_CLOUD: openstack
235
+ # if: ${{ needs.check-changes.outputs.aio == 'true' }}
236
+ # upgrade: true
237
+ # secrets: inherit
238
+ # if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
0 commit comments