diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c2bef5368bec571bc30ec5497deb7e2ab7b74fb9..6c9b411eeefefaa101d499904440c98c03e2e151 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,3 +18,7 @@ stages: test: stage: test script: scripts/build.py + artifacts: + paths: + - packages + expire_in: 1 day diff --git a/scripts/build.py b/scripts/build.py index 4a7113fdeef54f5247db13e6e3cdfbe4d127bea0..1977536c19465e27779f551d9b67b8a7e171d047 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -6,6 +6,7 @@ locale.setlocale(locale.LC_ALL, "en_US.UTF-8") import os import subprocess as sp import re +import shutil import tempfile import yaml @@ -34,7 +35,8 @@ def run_checked(command, **kwargs): raise -def build_package(repo_dir, name, patch_dir=None, version=None, changelog=None): +def build_package(repo_dir, package_dir, name, + patch_dir=None, version=None, changelog=None): with tempfile.TemporaryDirectory(dir=os.path.abspath(".")) as tempdir: os.chdir(tempdir) result = run_checked(["apt-get", "source", name]) @@ -82,9 +84,10 @@ def build_package(repo_dir, name, patch_dir=None, version=None, changelog=None): for filename in os.listdir(tempdir) if filename.endswith(".deb") ] - print(deb_packages) - - #input("Waiting for you, do your thing…") + for filename in os.listdir(tempdir): + if not filename.endswith(".deb"): + continue + shutil.move(os.path.join(tempdir, filename), package_dir) def main(): @@ -99,8 +102,11 @@ def main(): if mail: os.environ["DEBEMAIL"] = mail + package_dir = "packages" + os.makedirs(package_dir, exist_ok=True) + for package in config["packages"]: - build_package(repo_dir=repo_dir, **package) + build_package(repo_dir=repo_dir, package_dir=package_dir, **package) os.chdir(repo_dir)