From patchwork Sat Jun 26 22:38:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 1497660 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=smtp3.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=uV4FZ4/d; dkim-atps=neutral Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GC81C6JS1z9sT6 for ; Sun, 27 Jun 2021 08:38:54 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id A44806061B; Sat, 26 Jun 2021 22:38:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id otZccFIeAutO; Sat, 26 Jun 2021 22:38:50 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp3.osuosl.org (Postfix) with ESMTP id 06BEE605F5; Sat, 26 Jun 2021 22:38:50 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id AF5861BF846 for ; Sat, 26 Jun 2021 22:38:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 9D46640331 for ; Sat, 26 Jun 2021 22:38:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mAhBNqsYbVfI for ; Sat, 26 Jun 2021 22:38:47 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by smtp4.osuosl.org (Postfix) with ESMTPS id 558E6402FE for ; Sat, 26 Jun 2021 22:38:47 +0000 (UTC) Received: by mail-wm1-x333.google.com with SMTP id o22so7688185wms.0 for ; Sat, 26 Jun 2021 15:38:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cb88NdsUHhalBpH7IwA5K+uWIBN8EDoZ2j4f1RNlTkk=; b=uV4FZ4/dZ4iduK4ZjpfAwSnf03E1Z24oXoEBM+6njT1lA8E17PByxNuDEWL9rcXZLN la/kUBZcXxYZZm57fp6a3yPInyjAtRFfPJINmWstfzcc1jglNbSl2JOXOKg/OcHG4mW4 BH1eej75o/0EO61Sm9R1SKq6rDIacPBcd362MKmKd8MKV5rM7+cBr5u6YIjXfjQ7KGbW L3zeJodtaDcP7prOyK8gtgBKD8DNMhSt6M/WnMXGEBf3ELdoZPl4QHURqMRn5wEYv+LF Y6dj1mpCLOcxf76+Abhs3sGttKpMuhKd1oPVeMlhMCie0lThBvJT5IBvAlT8QgNGto3o BTEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cb88NdsUHhalBpH7IwA5K+uWIBN8EDoZ2j4f1RNlTkk=; b=p/8cfQPYrV0OErQWR6Mw8uGeNMqG91VC+HJwzSvAWdcGoX/qXr+FWb61qJRnrGM599 K3rkJvPx8UK3NkEo2bL86BG+WlaCMgYrGevqVrxb4NjQBE3amZUaFXMgzIXX97REXxx5 jPR8s7wCq5255mWL+Kp6Eby3cVa0TaXb+Iyvmt+8cFLjLq+XG2rTgdrvCi5CEqHnuVYU 4FNq7Yk8Ak87nin+fGEU6tKuzPFj52CrY5GUtDTw3+DAWMiUQS2IKm/wf6exk5kTBxGO 9dGXOS/HKD0bk6QeeRdyF/MrlGrB4xeXJNkKVp5nN2dRnMMadILDaZHrZTyZCdVUuIfC DV8w== X-Gm-Message-State: AOAM53038DQmuKu139I8+/kaLXceMqW0qrRu0duwrVhKRpWTJvlQwKMI Zkw9HzEmKZySnG4EAzc2LKoOZl1iuFY= X-Google-Smtp-Source: ABdhPJwDq8e2B6ajMZ1q4pFqhYNqGpE6MlyitMwjTXAwXov8NkRZq8awWi0j5HFsCBb3ZRoSRHWQKw== X-Received: by 2002:a7b:c4c9:: with SMTP id g9mr18345842wmk.47.1624747125659; Sat, 26 Jun 2021 15:38:45 -0700 (PDT) Received: from localhost.localdomain (2a01cb058f8a180098814a9aef637f91.ipv6.abo.wanadoo.fr. [2a01:cb05:8f8a:1800:9881:4a9a:ef63:7f91]) by smtp.gmail.com with ESMTPSA id r2sm9921946wrv.39.2021.06.26.15.38.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Jun 2021 15:38:45 -0700 (PDT) From: Romain Naour To: buildroot@buildroot.org Date: Sun, 27 Jun 2021 00:38:39 +0200 Message-Id: <20210626223840.148319-1-romain.naour@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH v3 1/2] support/misc/gitlab-ci.yml.in X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Romain Naour Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" In a followup commit, the make command used to log and display the last lines on error will be used in another job. Factorize it by introducing .run_make template. Signed-off-by: Romain Naour Cc: Arnout Vandecappelle (Essensium/Mind) --- support/misc/gitlab-ci.yml.in | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/support/misc/gitlab-ci.yml.in b/support/misc/gitlab-ci.yml.in index fcfff5c6aa..1ee3772154 100644 --- a/support/misc/gitlab-ci.yml.in +++ b/support/misc/gitlab-ci.yml.in @@ -26,20 +26,24 @@ paths: - .config +.run_make: &run_make + | + make O=${OUTPUT_DIR} > >(tee build.log |grep '>>>') 2>&1 || { + echo 'Failed build last output' + tail -200 build.log + exit 1 + } + .defconfig_base: before_script: - DEFCONFIG_NAME=${CI_JOB_NAME} + - OUTPUT_DIR=output script: - echo "Configure Buildroot for ${DEFCONFIG_NAME}" - make ${DEFCONFIG_NAME} - ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME} - echo 'Build buildroot' - - | - make > >(tee build.log |grep '>>>') 2>&1 || { - echo 'Failed build last output' - tail -200 build.log - exit 1 - } + - *run_make - | ./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || { echo 'Failed runtime test last output' From patchwork Sat Jun 26 22:38:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 1497661 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=smtp4.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=uriI/m+n; dkim-atps=neutral Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4GC81R3fkrz9sT6 for ; Sun, 27 Jun 2021 08:39:06 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 696B740381; Sat, 26 Jun 2021 22:39:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pzA2Um4IAuEa; Sat, 26 Jun 2021 22:39:03 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 547FD4038B; Sat, 26 Jun 2021 22:39:02 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id A44341BF846 for ; Sat, 26 Jun 2021 22:38:49 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 9413640107 for ; Sat, 26 Jun 2021 22:38:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U8FX8MBSPvp1 for ; Sat, 26 Jun 2021 22:38:48 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by smtp2.osuosl.org (Postfix) with ESMTPS id 603EC4002B for ; Sat, 26 Jun 2021 22:38:48 +0000 (UTC) Received: by mail-wr1-x42a.google.com with SMTP id j1so15172507wrn.9 for ; Sat, 26 Jun 2021 15:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qM1Mr+tMCnZd9yDlaBJlkNoGmTYIZSNG3NDcdZQCp3Y=; b=uriI/m+n6UTeFjEW84oSz1Iy21EWOXyzK8vGsDR3vP9TYKPq7E69Y77FGTfdlFaL3M 3o8NDWhJsNfOiLEjJxyl8X95oh9vcucGbOASF60RYVkk951SeH39x8oWORBBzuOwlVs9 yKwyzo4rQntouI8HOKAI44C0D3Ql+g88oE7zJyDmVCE1Z8Sexqc37itEw05OCk2DTYRc SG0hnLMlgIWFzcpn9AA8hSX3rrURbqzg/3NfMCmTUERxEgs1nLDgDXnGzW/Y2axwugZC xZcpSPQaFmyuyTQjvzgh32MK0xNgBYalwcGEncp3Q32Y90sHofK4uLBLUyJQhD9hcTfX uFiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qM1Mr+tMCnZd9yDlaBJlkNoGmTYIZSNG3NDcdZQCp3Y=; b=Kh2nmsyqOD89B9YUsjNugPsz6z9ECvELBd/xQsKrL0FXuwwqPKuDLFJMz4N6KDXNRv dhQlY8ivtWFvy1QsWXgDx/K8flocmPGA0f04m0yW6vsglXyzywOI15qdWx1/u+P092XI RveYGuUeOCtQvrgXNTRdk/4TIFCM3U3WYL0KREagF0/DbT72K1tVNbghlZXgrDRQg9n/ yqeAx3ejJSUcN+bs+NwEUzWcHDGMLKBPpniK9BvxG/qVYlAFcYmvDzoggkIbOLdwKGU8 d7/r+yxxLOWjnd0oeNiZVcXZI8Hvh1pH9hYmNnZyX9N48WEyaJ4OaSWnlWpBxIIYqjJv ggWw== X-Gm-Message-State: AOAM533/uCJ1Q3XWJOgeTc+HGu/CKppzp2QYwAeIRplL7QquHhqTmikP +/dALh1e3D9edmptPcvFWiFT+foyxb4= X-Google-Smtp-Source: ABdhPJwKhpP4yv6LLOXQvMNO4rmgTkpoQHRPTg6MIpddwbiSJ0rDGb1zQVile2EXKLUsBDOwVUtXTA== X-Received: by 2002:adf:fd46:: with SMTP id h6mr19113288wrs.420.1624747126639; Sat, 26 Jun 2021 15:38:46 -0700 (PDT) Received: from localhost.localdomain (2a01cb058f8a180098814a9aef637f91.ipv6.abo.wanadoo.fr. [2a01:cb05:8f8a:1800:9881:4a9a:ef63:7f91]) by smtp.gmail.com with ESMTPSA id r2sm9921946wrv.39.2021.06.26.15.38.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Jun 2021 15:38:46 -0700 (PDT) From: Romain Naour To: buildroot@buildroot.org Date: Sun, 27 Jun 2021 00:38:40 +0200 Message-Id: <20210626223840.148319-2-romain.naour@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210626223840.148319-1-romain.naour@gmail.com> References: <20210626223840.148319-1-romain.naour@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v3 2/2] utils/test-pkg: add gitlab-ci support X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Romain Naour Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" The gitlab-ci support in test-pkg allows to parallelize the test-pkg work into several gitlab jobs. It's much faster than local serialized testing. The current generate-gitlab-ci-yml script is updated to generate a gitlab-ci pipeline using the newly introduced .test_pkg job template. The test-pkg script is executed in the generate-gitlab-ci job to create the list of jobs in the child-pipeline. There is no need to execute test-pkg locally. But we need to add a new --generate-only (-g) option to generate .config file for each toolchains without building them. All configuration files are kept as gitlab artifacts for the child-pipeline jobs. (We can't keep br-test-pkg directory due to a 5 Mo size limit in gitlab) Only valid toolchains are added to the child-pipeline job list. To execute test-pkg we need to provide a config snippet to select the package we want to test. The config snippet must be added to the last commit log below the line "test-pkg config:" The config snipped is retrieved in generate-gitlab-ci job using CI_COMMIT_DESCRIPTION gitlab variable. Since the test-pkg script is executed from generate-gitlab-ci job in parent pipeline, we have to enable the parent's artifacts download from the child-pipeline jobs [1]. This artifact contains the br-test-pkg directory that contains all .config files. [1] https://docs.gitlab.com/ee/ci/yaml/README.html#artifact-downloads-to-child-pipelines Signed-off-by: Romain Naour Cc: Arnout Vandecappelle (Essensium/Mind) --- v3: Implement Arnout's review: http://lists.busybox.net/pipermail/buildroot/2021-May/310656.html Enable artifacts download from child-pipeline v2: Rework this patch following Arnout review use CI_COMMIT_DESCRIPTION remove .config from artifacts but keep images directory since it can be useful for further issue investigation use the "br-test-pkg" prefix for test-pkg jobs --- .gitlab-ci.yml | 4 ++++ support/misc/gitlab-ci.yml.in | 22 ++++++++++++++++++++++ support/scripts/generate-gitlab-ci-yml | 23 ++++++++++++++++++++++- utils/test-pkg | 24 ++++++++++++++++++++---- 4 files changed, 68 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e85ac32033..ad50e20dce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,6 +13,8 @@ generate-gitlab-ci-yml: artifacts: paths: - generated-gitlab-ci.yml + - br-test-pkg/*/.config + - test-pkg.log buildroot-pipeline: stage: build @@ -21,3 +23,5 @@ buildroot-pipeline: - artifact: generated-gitlab-ci.yml job: generate-gitlab-ci-yml strategy: depend + variables: + PARENT_PIPELINE_ID: $CI_PIPELINE_ID diff --git a/support/misc/gitlab-ci.yml.in b/support/misc/gitlab-ci.yml.in index 1ee3772154..be7951b3d2 100644 --- a/support/misc/gitlab-ci.yml.in +++ b/support/misc/gitlab-ci.yml.in @@ -80,3 +80,25 @@ - test-output/*/.config - test-output/*/images/* +.test_pkg: + stage: build + before_script: + - OUTPUT_DIR=${CI_JOB_NAME} + script: + - echo "Configure Buildroot for ${OUTPUT_DIR}" + - make O=${OUTPUT_DIR} syncconfig + - make O=${OUTPUT_DIR} savedefconfig + - echo 'Build buildroot' + - *run_make + needs: + - pipeline: $PARENT_PIPELINE_ID + job: generate-gitlab-ci-yml + artifacts: + when: always + expire_in: 2 weeks + paths: + - build.log + - br-test-pkg/*/.config + - br-test-pkg/*/defconfig + - br-test-pkg/*/build/build-time.log + - br-test-pkg/*/build/packages-file-list*.txt diff --git a/support/scripts/generate-gitlab-ci-yml b/support/scripts/generate-gitlab-ci-yml index 3f498e08fd..936f755634 100755 --- a/support/scripts/generate-gitlab-ci-yml +++ b/support/scripts/generate-gitlab-ci-yml @@ -23,7 +23,7 @@ _EOF_ gen_tests() { local -a basics defconfigs runtimes - local do_basics do_defconfigs do_runtime + local do_basics do_defconfigs do_runtime do_testpkg local defconfigs_ext cfg tst basics=( DEVELOPERS flake8 package ) @@ -77,9 +77,26 @@ gen_tests() { esac fi + # Retrieve defconfig for test-pkg from the git commit message (if any) + echo "$CI_COMMIT_DESCRIPTION" \ + | sed -n '/^test-pkg config:$/,/^$/p' \ + > defconfig.frag + + if [ -s defconfig.frag ]; then + # Remove "test-pkg config:" line + sed -i 1d defconfig.frag + # Use --all since we expect the user having already pre-tested the new package + # with the default subset of toolchains. + ./utils/test-pkg --config-snippet defconfig.frag --all --build-dir br-test-pkg --keep --generate-only > test-pkg.log 2>&1 + if [ -s br-test-pkg.yml ]; then + do_testpkg=yes + fi + fi + # If nothing else, at least do the basics to generate a valid pipeline if [ -z "${do_defconfigs}" \ -a -z "${do_runtime}" \ + -a -z "${do_testpkg}" \ ] then do_basics=true @@ -101,6 +118,10 @@ gen_tests() { if ${do_runtime:-false}; then printf '%s: { extends: .runtime_test_base }\n' "${runtimes[@]}" fi + + if [ -n "${do_testpkg}" ]; then + cat br-test-pkg.yml + fi } main "${@}" diff --git a/utils/test-pkg b/utils/test-pkg index a317d8c17a..8ba2796668 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -12,13 +12,13 @@ do_clean() { main() { local o O opts - local cfg dir pkg random toolchains_csv toolchain all number mode + local cfg dir pkg random toolchains_csv toolchain all number mode generate_only local ret nb nb_skip nb_fail nb_legal nb_tc build_dir keep local -a toolchains local pkg_br_name - o='hakc:d:n:p:r:t:' - O='help,all,keep,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:' + o='hakgc:d:n:p:r:t:' + O='help,all,keep,generate-only,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:' opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")" eval set -- "${opts}" @@ -27,6 +27,7 @@ main() { keep=0 number=0 mode=0 + generate_only=0 toolchains_csv="${TOOLCHAINS_CSV}" while [ ${#} -gt 0 ]; do case "${1}" in @@ -39,6 +40,9 @@ main() { (-k|--keep) keep=1; shift 1 ;; + (-g|--generate-only) + generate_only=1; shift 1 + ;; (-c|--config-snippet) cfg="${2}"; shift 2 ;; @@ -118,6 +122,11 @@ main() { printf "error: no toolchain found (networking issue?)\n" >&2; exit 1 fi + if [ ${generate_only} -eq 1 ]; then + # Running in generate-only imply keep the build directories. + keep=1 + fi + nb=0 nb_skip=0 nb_fail=0 @@ -127,12 +136,13 @@ main() { toolchain="$(basename "${toolchainconfig}" .config)" build_dir="${dir}/${toolchain}" printf "%40s [%*d/%d]: " "${toolchain}" ${#nb_tc} ${nb} ${nb_tc} - build_one "${build_dir}" "${toolchainconfig}" "${cfg}" "${pkg}" && ret=0 || ret=${?} + build_one "${build_dir}" "${toolchainconfig}" "${cfg}" "${pkg}" "${generate_only}" && ret=0 || ret=${?} case ${ret} in (0) printf "OK\n";; (1) : $((nb_skip++)); printf "SKIPPED\n";; (2) : $((nb_fail++)); printf "FAILED\n";; (3) : $((nb_legal++)); printf "FAILED\n";; + (4) printf '%s: { extends: .test_pkg }\n' "$build_dir" >> br-test-pkg.yml; printf "GENERATED\n";; esac done @@ -147,6 +157,7 @@ build_one() { local toolchainconfig="${2}" local cfg="${3}" local pkg="${4}" + local generate_only="${5}" mkdir -p "${dir}" @@ -166,6 +177,11 @@ build_one() { # Remove file, it's empty anyway. rm -f "${dir}/missing.config" + # Differ to gitlab pipeline + if [ ${generate_only} -eq 1 ]; then + return 4 + fi + if [ -n "${pkg}" ]; then if ! make O="${dir}" "${pkg}-dirclean" >> "${dir}/logfile" 2>&1; then return 2