2022-06-17 21:56:08 +00:00
|
|
|
# Launches the builds of ISOs
|
|
|
|
|
|
|
|
import argparse
|
2022-06-19 04:00:02 +00:00
|
|
|
import datetime
|
2022-06-17 21:56:08 +00:00
|
|
|
|
|
|
|
from empanadas.common import *
|
|
|
|
from empanadas.common import _rootdir
|
|
|
|
|
|
|
|
from jinja2 import Environment, FileSystemLoader
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser(description="ISO Compose")
|
|
|
|
|
|
|
|
parser.add_argument('--release', type=str, help="Major Release Version", required=True)
|
|
|
|
parser.add_argument('--env', type=str, help="environment", required=True)
|
2022-06-21 00:12:20 +00:00
|
|
|
parser.add_argument('--rc', action='store_true', help="Release Candidate")
|
2022-06-17 21:56:08 +00:00
|
|
|
results = parser.parse_args()
|
|
|
|
rlvars = rldict[results.release]
|
|
|
|
major = rlvars['major']
|
|
|
|
|
|
|
|
EXTARCH=["s390x", "ppc64le"]
|
|
|
|
EKSARCH=["amd64", "arm64"]
|
|
|
|
|
|
|
|
def run():
|
|
|
|
file_loader = FileSystemLoader(f"{_rootdir}/templates")
|
|
|
|
tmplenv = Environment(loader=file_loader)
|
|
|
|
job_template = tmplenv.get_template('kube/Job.tmpl')
|
|
|
|
|
|
|
|
arches = EKSARCH
|
|
|
|
if results.env == "ext" and results.env != "all":
|
|
|
|
arches = EXTARCH
|
|
|
|
elif results.env == "all":
|
|
|
|
arches = EKSARCH+EXTARCH
|
|
|
|
|
2022-06-21 00:12:20 +00:00
|
|
|
command = ["build-iso", "--release", f"{results.release}", "--isolation", "simple"]
|
|
|
|
if results.rc:
|
|
|
|
command += ["--rc"]
|
|
|
|
|
|
|
|
buildstamp = datetime.datetime.utcnow()
|
2022-06-19 04:00:02 +00:00
|
|
|
|
2022-06-17 21:56:08 +00:00
|
|
|
out = ""
|
2022-06-21 00:12:20 +00:00
|
|
|
for architecture in arches:
|
|
|
|
copy_command = (f"aws s3 cp --recursive --exclude=* --include=lorax* "
|
|
|
|
f"/var/lib/mock/rocky-{ major }-$(uname -m)/root/builddir/ "
|
|
|
|
f"s3://resf-empanadas/buildiso-{ major }-{ architecture }/{ buildstamp.strftime('%s') }/"
|
|
|
|
)
|
2022-06-17 21:56:08 +00:00
|
|
|
out += job_template.render(
|
2022-06-21 00:12:20 +00:00
|
|
|
architecture=architecture,
|
2022-06-17 21:56:08 +00:00
|
|
|
backoffLimit=4,
|
2022-06-21 00:12:20 +00:00
|
|
|
buildTime=buildstamp.strftime("%s"),
|
|
|
|
command=[command, copy_command],
|
2022-06-17 21:56:08 +00:00
|
|
|
imageName="ghcr.io/neilhanlon/sig-core-toolkit:latest",
|
2022-06-21 00:12:20 +00:00
|
|
|
jobname="buildiso",
|
2022-06-17 21:56:08 +00:00
|
|
|
namespace="empanadas",
|
2022-06-18 19:03:53 +00:00
|
|
|
major=major,
|
2022-06-17 21:56:08 +00:00
|
|
|
restartPolicy="Never",
|
|
|
|
)
|
|
|
|
|
|
|
|
print(out)
|