Fix build matrix generation for build workflow. (#13254)
* Fix build matrix generation for build workflow. * Fix build matrix sorting. * Fix further typos.
Austin S. Hemmelgarn committed
Jun 29, 2022 at 12:38 UTC
d80b5dd149b0e1938fe871851ad1a67fdc717b81
1 file changed
+15
-10
.github/workflows/build.yml
+15
-10
@@ -173,19 +173,24 @@ jobs:
173
from ruamel.yaml import YAML
174
import json
175
yaml = YAML(typ='safe')
176
+ entries = list()
177
+
178
with open('.github/data/distros.yml') as f:
179
data = yaml.load(f)
178
- del data['platform_map']
180
+
181
for i, v in enumerate(data['include']):
180
- data['include'][i]['artifact_key'] = data['include'][i]['distro'] + str(data['include'][i]['version']).replace('.', '')
181
- if 'packages' in data['include'][i]:
182
- del data['include'][i]['packages']
183
- if 'base_image' in data['include'][i]:
184
- data['include'][i]['distro'] = data['include'][i]['base_image']
185
- del data['include'][i]['base_image']
186
- data['include'][i]['distro'] = ':'.join([data['include'][i]['distro'], str(data['include'][i]['version'])])
187
- del data['include'][i]['version']
188
- matrix = json.dumps(data, sort_keys=True)
182
+ entries.append(data['include'][i])
183
+ entries[i]['artifact_key'] = entries[i]['distro'] + str(entries[i]['version']).replace('.', '')
184
+ if 'packages' in entries[i]:
185
+ del entries[i]['packages']
186
+ if 'base_image' in entries[i]:
187
+ entries[i]['distro'] = entries[i]['base_image']
188
+ del entries[i]['base_image']
189
+ entries[i]['distro'] = ':'.join([entries[i]['distro'], str(entries[i]['version'])])
190
+ del entries[i]['version']
191
+
192
+ entries.sort(key=lambda k: k['distro'])
193
+ matrix = json.dumps({'include': entries}, sort_keys=True)
194
print('Generated Matrix: ' + matrix)
195
print('::set-output name=matrix::' + matrix)
196
- name: Failure Notification