blob: 495bced2f9564ad7d41c0206a1843c77472c7c8c [file] [log] [blame]
Mohammed Naserbd5eaa12022-08-30 03:03:49 -04001#!/usr/bin/env python3
2
3import glob
4import json
5import requests
6import sys
7
8MATRIX = []
9
10RELEASES = sorted([r.split("/")[-1] for r in glob.glob("images/openstack/releases/*")])
11PROJECTS = sorted([r.split("/")[-1] for r in glob.glob("images/openstack/projects/*")])
12
13DATA = {}
14
15if len(sys.argv) > 1 and sys.argv[1] == "all":
16 DATA = {
17 "fail-fast": False,
18 "matrix": {
19 "release": RELEASES,
20 "project": PROJECTS,
21 },
22 }
23else:
24 for release in RELEASES:
25 for project in PROJECTS:
26 ref = (
27 open(f"images/openstack/projects/{project}/{release}/ref", "r")
28 .read()
29 .strip()
30 )
31
32 r = requests.get(
33 f"https://quay.io/api/v1/repository/vexxhost/{project}/tag/?specificTag={ref}"
34 )
35
36 if r.json().get("tags") == []:
37 MATRIX += [
38 {
39 "release": release,
40 "project": project,
41 }
42 ]
43
44 if len(MATRIX) != 0:
45 DATA = {
46 "fail-fast": False,
47 "matrix": {
48 "include": MATRIX,
49 },
50 }
51
52json.dump(DATA, sys.stdout, separators=(",", ":"))