diff --git a/.gitea/workflows/pr_project.yaml b/.gitea/workflows/pr_project.yaml index b0aae8e..4785c58 100644 --- a/.gitea/workflows/pr_project.yaml +++ b/.gitea/workflows/pr_project.yaml @@ -37,4 +37,9 @@ jobs: SCM_URL: ${{ gitea.event.pull_request.head.repo.clone_url }}#${{ gitea.head_ref }} run: | PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')" - python3 .obs/render_meta.py --pr ${{ gitea.event.number }} --scm-url "${SCM_URL}" | osc meta prj "${PROJECT}:Staging:PR-${{ gitea.event.number }}" -F - \ No newline at end of file + python3 .obs/render_meta.py --pr ${{ gitea.event.number }} --scm-url "${SCM_URL}" | osc meta prj "${PROJECT}:Staging:PR-${{ gitea.event.number }}" -F - + - if: gitea.event.action != "closed" + run: | + PROJECT="$(grep PROJECT .obs/common.py | sed 's/PROJECT = "\(.*\)"/\1/')" + export OBS_PROJECT="${PROJECT}:Staging:PR-${{ gitea.event.number }}" + python3 .obs/wait_obs.py \ No newline at end of file diff --git a/.obs/add_package.py b/.obs/add_package.py index c2c6e21..67d913e 100755 --- a/.obs/add_package.py +++ b/.obs/add_package.py @@ -1,5 +1,4 @@ #!/usr/bin/env python3 -import yaml import subprocess import argparse import os @@ -7,30 +6,6 @@ import os.path from common import PROJECT, REPOSITORY, BRANCH -def add_package_to_workflow(name: str): - modified = False - with open(".obs/workflows.yml", "r") as wf_file: - workflows = yaml.safe_load(wf_file) - if not any( - x - for x in workflows["staging_build"]["steps"] - if x["branch_package"]["source_package"] == name - ): - workflows["staging_build"]["steps"].append( - { - "branch_package": { - "source_project": PROJECT, - "target_project": f"{PROJECT}:Staging", - "source_package": name, - } - } - ) - modified = True - if modified: - with open(".obs/workflows.yml", "w") as wf_file: - yaml.dump(workflows, wf_file) - - def add_package_to_project(name: str): package_meta = f""" @@ -53,7 +28,6 @@ def add_package(package_name: str): os.exit(1) add_package_to_project(package_name) - add_package_to_workflow(package_name) def main(): @@ -65,7 +39,7 @@ def main(): add_package(args.package) - print("Package created in OBS, you can now push the modified workflow file") + print("Package created in OBS !") if __name__ == '__main__': diff --git a/.obs/delete_package.py b/.obs/delete_package.py index 763219c..f529319 100755 --- a/.obs/delete_package.py +++ b/.obs/delete_package.py @@ -1,5 +1,4 @@ #!/usr/bin/env python3 -import yaml import subprocess import argparse import os @@ -8,18 +7,6 @@ import os.path from common import PROJECT -def delete_package_from_workflow(name: str): - with open(".obs/workflows.yml", "r") as wf_file: - workflows = yaml.safe_load(wf_file) - workflows["staging_build"]["steps"] = [ - x - for x in workflows["staging_build"]["steps"] - if x["branch_package"]["source_package"] != name - ] - with open(".obs/workflows.yml", "w") as wf_file: - yaml.dump(workflows, wf_file) - - def delete_package_from_project(name: str): p = subprocess.run(["osc", "rdelete", PROJECT, name, "-m \"Deleted via delete_package.py\"" ], stdout=subprocess.PIPE) print(p.stdout) @@ -33,7 +20,6 @@ def delete_package(package_name: str): os.exit(1) delete_package_from_project(package_name) - delete_package_from_workflow(package_name) def main(): diff --git a/.obs/wait_obs.py b/.obs/wait_obs.py index 8f4ea1d..ea3ce03 100644 --- a/.obs/wait_obs.py +++ b/.obs/wait_obs.py @@ -34,7 +34,7 @@ def do_wait(project:str, commit:str) -> ET.Element: return status -def print_results(status: ET.Element): +def print_results(status: ET.Element) -> bool: results = {} failed = [] for e in status.findall("./result"): @@ -68,12 +68,14 @@ def print_results(status: ET.Element): print("\nPackages failing: ") for fail in failed: print("\t", fail) + return len(failed) != 0 def main(): project = os.environ.get("OBS_PROJECT") sha = os.environ.get("GITEA_SHA") status = do_wait(project, sha) - print_results(status) + if print_results(status): + return 1 if __name__ == "__main__": main() \ No newline at end of file diff --git a/.obs/workflows.yml b/.obs/workflows.yml deleted file mode 100644 index 74f1ef0..0000000 --- a/.obs/workflows.yml +++ /dev/null @@ -1,216 +0,0 @@ -staging_build: - filters: - event: pull_request - steps: - - branch_package: - source_package: endpoint-copier-operator - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: endpoint-copier-operator-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: endpoint-copier-operator-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-agent-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-controller-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-dashboard-extension-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-debug-echo-discovery-handler-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-onvif-discovery-handler-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-opcua-discovery-handler-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-udev-discovery-handler-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: akri-webhook-configuration-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: obs-service-set_version - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: cosign - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: frr-k8s - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kubectl - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: upgrade-controller - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: nm-configurator - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kube-rbac-proxy - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: edge-image-builder - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: metallb - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: hauler - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: baremetal-operator - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: cdi-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: metallb-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: sriov-crd-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: upgrade-controller-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: edge-image-builder-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: ironic-ipa-downloader-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: upgrade-controller-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: metal3-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: baremetal-operator-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: sriov-network-operator-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: metallb-controller-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: metallb-speaker-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: ironic-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: cri-tools - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: crudini - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: fakeroot - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: ipcalc - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: autoconf - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: rancher-turtles-airgap-resources-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: rancher-turtles-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kube-rbac-proxy-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: ironic-ipa-ramdisk - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kubevirt-dashboard-extension-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kiwi-builder-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kubevirt-chart - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: release-manifest-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: frr-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: kubectl-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging - - branch_package: - source_package: frr-k8s-image - source_project: isv:SUSE:Edge:Factory - target_project: isv:SUSE:Edge:Factory:Staging