From df927915508f5f0d2df8f8cf71fe588a8ee44c72 Mon Sep 17 00:00:00 2001 From: Dmitry Maksyoma Date: Mon, 15 Mar 2021 21:33:57 +1300 Subject: [PATCH] Gitlab CI: build all distros if branch has "release" or "testing" in it --- .gitlab-ci.yml | 11 +++++++++-- builder/build-distro | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100755 builder/build-distro diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c72a155..f2d05a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,8 +15,15 @@ build: - pwd - apk add bash - mkdir -p "$GITLAB_SHARED_DIND_DIR" && chmod 777 "$GITLAB_SHARED_DIND_DIR" - - bash builder/build-tarball - - bash builder/build-deb + - echo "Build Ubuntu 18 on all branches" + - bash builder/build-distro ubuntu bionic + - if echo "$CI_COMMIT_BRANCH" | grep -Eq '(release|testing)'; then + echo "Build all distros"; + bash builder/build-distro ubuntu focal; + bash builder/build-distro debian buster; + bash builder/build-distro debian bullseye; + bash builder/build-distro kali kali-rolling; + fi - mkdir output - cp -r builder/build/* output/ artifacts: diff --git a/builder/build-distro b/builder/build-distro new file mode 100755 index 0000000..a21bf01 --- /dev/null +++ b/builder/build-distro @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e + +os="$1" +codename="$2" + +detect_package_format() { + package_format=rpm + if ls builder/dockerfile*"$os"* | grep -q .deb.build; then + package_format=deb + fi +} + +cd "$(dirname "$0")/.." + +detect_package_format +builder/build-tarball "$os" "$codename" +builder/build-${package_format} "$os" "$codename"