blob: 495bced2f9564ad7d41c0206a1843c77472c7c8c [file] [log] [blame]
#!/usr/bin/env python3
import glob
import json
import requests
import sys
MATRIX = []
RELEASES = sorted([r.split("/")[-1] for r in glob.glob("images/openstack/releases/*")])
PROJECTS = sorted([r.split("/")[-1] for r in glob.glob("images/openstack/projects/*")])
DATA = {}
if len(sys.argv) > 1 and sys.argv[1] == "all":
DATA = {
"fail-fast": False,
"matrix": {
"release": RELEASES,
"project": PROJECTS,
},
}
else:
for release in RELEASES:
for project in PROJECTS:
ref = (
open(f"images/openstack/projects/{project}/{release}/ref", "r")
.read()
.strip()
)
r = requests.get(
f"https://quay.io/api/v1/repository/vexxhost/{project}/tag/?specificTag={ref}"
)
if r.json().get("tags") == []:
MATRIX += [
{
"release": release,
"project": project,
}
]
if len(MATRIX) != 0:
DATA = {
"fail-fast": False,
"matrix": {
"include": MATRIX,
},
}
json.dump(DATA, sys.stdout, separators=(",", ":"))