diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh index da21e09809aee..b9afc7a57b21c 100755 --- a/.ci/monolithic-linux.sh +++ b/.ci/monolithic-linux.sh @@ -13,50 +13,15 @@ # run only the relevant tests. # -set -ex -set -o pipefail +source .ci/utils.sh -MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}" -BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}" INSTALL_DIR="${BUILD_DIR}/install" -rm -rf "${BUILD_DIR}" - -sccache --zero-stats mkdir -p artifacts/reproducers -# Make sure any clang reproducers will end up as artifacts. +# Make sure any clang reproducers will end up as artifacts export CLANG_CRASH_DIAGNOSTICS_DIR=`realpath artifacts/reproducers` -function at-exit { - retcode=$? - - sccache --show-stats > artifacts/sccache_stats.txt - cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log - cp "${BUILD_DIR}"/test-results.*.xml artifacts/ || : - - # If building fails there will be no results files. - shopt -s nullglob - - if [[ "$GITHUB_STEP_SUMMARY" != "" ]]; then - python3 "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py \ - $retcode "${BUILD_DIR}"/test-results.*.xml >> $GITHUB_STEP_SUMMARY - fi -} -trap at-exit EXIT - -function start-group { - groupname=$1 - if [[ "$GITHUB_ACTIONS" != "" ]]; then - echo "::endgroup" - echo "::group::$groupname" - elif [[ "$POSTCOMMIT_CI" != "" ]]; then - echo "@@@$STEP@@@" - else - echo "Starting $groupname" - fi -} - projects="${1}" targets="${2}" runtimes="${3}" diff --git a/.ci/monolithic-windows.sh b/.ci/monolithic-windows.sh index 71646ce047d4f..2e81e27bd7d0f 100755 --- a/.ci/monolithic-windows.sh +++ b/.ci/monolithic-windows.sh @@ -13,44 +13,7 @@ # run only the relevant tests. # -set -ex -set -o pipefail - -MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}" -BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}" - -rm -rf "${BUILD_DIR}" - -sccache --zero-stats -function at-exit { - retcode=$? - - mkdir -p artifacts - sccache --show-stats >> artifacts/sccache_stats.txt - cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log - cp "${BUILD_DIR}"/test-results.*.xml artifacts/ || : - - # If building fails there will be no results files. - shopt -s nullglob - - if [[ "$GITHUB_STEP_SUMMARY" != "" ]]; then - python "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py \ - $retcode "${BUILD_DIR}"/test-results.*.xml >> $GITHUB_STEP_SUMMARY - fi -} -trap at-exit EXIT - -function start-group { - groupname=$1 - if [[ "$GITHUB_ACTIONS" != "" ]]; then - echo "::endgroup" - echo "::group::$groupname" - elif [[ "$POSTCOMMIT_CI" != "" ]]; then - echo "@@@$STEP@@@" - else - echo "Starting $groupname" - fi -} +source .ci/utils.sh projects="${1}" targets="${2}" diff --git a/.ci/utils.sh b/.ci/utils.sh new file mode 100644 index 0000000000000..6656ffe06666a --- /dev/null +++ b/.ci/utils.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +#===----------------------------------------------------------------------===## +# +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# +#===----------------------------------------------------------------------===## + +# This script performs some setup and contains some utilities used for in the +# monolithic-linux.sh and monolithic-windows.sh scripts. + +set -ex +set -o pipefail + +MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}" +BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}" + +rm -rf "${BUILD_DIR}" + +sccache --zero-stats + +function at-exit { + retcode=$? + + mkdir -p artifacts + sccache --show-stats >> artifacts/sccache_stats.txt + cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log + cp "${BUILD_DIR}"/test-results.*.xml artifacts/ || : + + # If building fails there will be no results files. + shopt -s nullglob + + if [[ "$GITHUB_STEP_SUMMARY" != "" ]]; then + python "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py \ + $retcode "${BUILD_DIR}"/test-results.*.xml >> $GITHUB_STEP_SUMMARY + fi +} +trap at-exit EXIT + +function start-group { + groupname=$1 + if [[ "$GITHUB_ACTIONS" != "" ]]; then + echo "::endgroup" + echo "::group::$groupname" + elif [[ "$POSTCOMMIT_CI" != "" ]]; then + echo "@@@$STEP@@@" + else + echo "Starting $groupname" + fi +}