Signed-off-by: Glenn Washburn <developm...@efficientek.com> --- .ci/build.sh | 10 - .ci/process-tests.sh | 11 - .ci/test.sh | 8 - .gitlab-ci.yml | 552 ------------------------------------------- 4 files changed, 581 deletions(-)
diff --git a/.ci/build.sh b/.ci/build.sh index 14dd7f7c5..55af74a1b 100755 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -31,16 +31,6 @@ mkdir -pv ${BUILDDIR}; RET=0; cd ${BUILDDIR}; -# echo -e "#!$SHELL\nREAL_SHELL=\${REAL_SHELL:-\$(readlink /proc/\$\$/exe)}\nexec \$REAL_SHELL \$SHELL_OPTS \"\$@\"" >${BUILDDIR}/shell-wrapper.sh; -# cat <<EOF >${BUILDDIR}/shell-wrapper.sh -# #!$SHELL -# REAL_SHELL=\${REAL_SHELL:-$(readlink /proc/\$\$/exe)} -# exec \$REAL_SHELL \$SHELL_OPTS \"\$@\" -# EOF - -# chmod +x ${BUILDDIR}/shell-wrapper.sh; -# export CONFIG_SHELL=${BUILDDIR}/shell-wrapper.sh; - start_log -c -n "configure-$TARGET" "Configuring $TARGET"; ls -la $SRCDIR; [ -x "$SRCDIR/configure" ] && $SRCDIR/configure --help; diff --git a/.ci/process-tests.sh b/.ci/process-tests.sh index ab030cfc2..635436e39 100755 --- a/.ci/process-tests.sh +++ b/.ci/process-tests.sh @@ -25,8 +25,6 @@ set -eo pipefail [ -f "$(dirname "$0")/functions.$CI_TYPE.sh" ] && . "$(dirname "$0")/functions.$CI_TYPE.sh" -# TARGET="${ARCH}-${PLATFORM}" - test "x${SHELL_TRACE}" = "xy" && set -x; if [ -f ${BUILDDIR}/test.success ]; then echo "Not processing test logs because make check ran successfully"; @@ -96,13 +94,4 @@ fi; RET=1; fi; end_log -n "process-test-$TARGET"; -# if [ -f $CI_PROJECT_DIR/${TARGET}.timedout-failures ]; then -# sed 's/^/${TARGET}:/' $CI_PROJECT_DIR/${TARGET}.timedout-failures -# >> $CI_PROJECT_DIR/build/test.timedout.log; -# fi; -# if [ -f $CI_PROJECT_DIR/${TARGET}.unexpected-failures ]; then -# sed 's/^/${TARGET}:/' $CI_PROJECT_DIR/${TARGET}.unexpected-failures -# >> $CI_PROJECT_DIR/build/test.failed.log; -# exit 1; -# fi; exit ${RET:-0}; diff --git a/.ci/test.sh b/.ci/test.sh index 3f51de58b..b780ae51f 100755 --- a/.ci/test.sh +++ b/.ci/test.sh @@ -85,16 +85,8 @@ if [ -n "$GRUB_SHELL_DEFAULT_DEBUG" ]; then fi; TIMEOUT=${TESTS_TIMEOUT}; -function func_strace () { - strace -y -yy -f -v -s4096 -o >($COMP -9 > ${BUILDDIR}/test.strace.$RANDOM.$COMP) "$@"; -}; -':' STRACE="func_strace"; - -':' $STRACE ${TIMEOUT:+timeout $TIMEOUT} make -C ${BUILDDIR} -j$JOBS SUBDIRS= check || RET=$?; ${TIMEOUT:+timeout $TIMEOUT} make -C ${BUILDDIR} -j$JOBS SUBDIRS= check || RET=$?; -':' timeout $TIMEOUT $STRACE make -C ${BUILDDIR} -j$JOBS SUBDIRS= LOG_COMPILER="${BUILDDIR}/log-tester.sh" check || RET=$?; [ "$RET" -eq 124 -o "$RET" -eq 137 ] && echo "ERROR":" make check timed out"; -':' gzip -9 ${BUILDDIR}/test.strace.*; end_log -n "test-$TARGET"; diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d4fc2337e..b3f854f61 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,76 +13,20 @@ workflow: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - when: never -# This allows running CI/CD pipelines for merge requests -# include: -# - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml' - -# Variables that can be set by runners: -# CONFIGURE_OPTS - Extra configure options -# TESTS_TIMEOUT - Set timeout for make check tests (see man timeout) -# FAIL_ON_HARD_ERRORS - If set, Hard errors will cause a failure -# DISABLE_ALL_TESTS - If set, make check tests will be disabled -# TEST_ALL_TARGETS - If set, failing targets which have been marked disabled will be enabled -# TEST_VERBOSITY - Verbosity level when running tests: 1-3 -# STRACE_TESTS - If set, strace individual tests. WARNING: This will cause testing to take much longer -# which can cause some test to fail by timing out or having incorrect timing -# SHELL_TRACE - If set, turn on shell tracing of everything. NOTE: TEST_VERBOSITY=3 turns on more targeted -# shell tracing - variables: CI_TYPE: gitlab - # CI_DEBUG_TRACE: 'true' - # GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/grub-$CI_COMMIT_SHORT_SHA GIT_CLONE_PATH: $CI_BUILDS_DIR/grub-${CI_COMMIT_SHORT_SHA}.git GIT_STRATEGY: fetch - # Include all cross toolchain paths, so we can just call them later down. - #PATH: "/tmp/qemu-install/bin:/usr/bin:/bin:$CROSS_DIR/gcc-8.1.0-nolibc/aarch64-linux/bin:$CROSS_DIR/gcc-8.1.0-nolibc/arm-linux-gnueabi/bin:$CROSS_DIR/gcc-8.1.0-nolibc/ia64-linux/bin:$CROSS_DIR/gcc-8.1.0-nolibc/mips64-linux/bin:$CROSS_DIR/gcc-8.1.0-nolibc/powerpc64-linux/bin:$CROSS_DIR/gcc-8.1.0-nolibc/riscv32-linux/bin:$CROSS_DIR/gcc-8.1.0-nolibc/riscv64-linux/bin:$CROSS_DIR/gcc-8.1.0-nolibc/sparc64-linux/bin" -# PACKAGE_CACHE: $CI_BUILDS_DIR/pkgs PACKAGE_CACHE: $CI_PROJECT_DIR/pkgs CROSS_DIR: $CI_PROJECT_DIR/cross SRCDIR: $CI_PROJECT_DIR ### Below are values that are meant to be configurable CROSS_VERSION: - # value: "4.8.0" - # value: "4.8.5" - # value: "4.9.0" - # value: "4.9.4" - # value: "5.5.0" - # Start having riscv32/64 builds - # value: "7.3.0" - # value: "7.5.0" - # value: "8.1.0" - # value: "9.3.0" value: "10.1.0" description: "Version of cross-compiler to use (suggested: 10.1.0, 9.3.0, 8.1.0, 7.5.0 [riscv32/64 builds fail before 7.3.0])" - PACKAGES: | - libsdl1.2-dev - xz-utils - lzop - ovmf - python - qemu-system - unifont - wget - libfreetype6-dev - libdevmapper-dev - liblzma-dev - libfuse-dev - libzfslinux-dev - make - autoconf - automake - autopoint - git - bison - flex - gettext - pkg-config -# gcc-9-multilib - CONFIGURE_OPTS: value: "--enable-boot-time" description: "Extra options to pass to configure" @@ -279,49 +223,12 @@ variables: default: image: ubuntu:xenial - # image: ubuntu:focal -# cache: -# # cache all untracked files -# untracked: true -# # policy: pull -# # Each branch will use the same cache -# key: ${CI_COMMIT_REF_SLUG}-${CI_JOB_IMAGE} -# paths: -# - ccache/ -# # - gnulib stages: - - cache - setup - build - - install - test -.needs-cross-path: - variables: -# PATH: "$CI_BUILDS_DIR/pkgroot/sbin:$CI_BUILDS_DIR/pkgroot/usr/sbin:$CI_BUILDS_DIR/pkgroot/bin:$CI_BUILDS_DIR/pkgroot/usr/bin:$CROSS_DIR/gcc-$CROSS_VERSION-nolibc/$CROSS_TARGETS/bin:/usr/sbin:/sbin:/usr/bin:/bin" - PATH: "$CROSS_DIR/gcc-$CROSS_VERSION-nolibc/$CROSS_TARGETS/bin:/usr/sbin:/sbin:/usr/bin:/bin" - -.print_debug_info: - before_script: &print_debug_info-before_script - - echo -e "section_start:`date +%s`:debug_info[collapsed=true]\r\e[0KDebug Information" - - uname -a - - ls -l /proc/$$/exe - - export - - set - - dpkg-query -l - - find /lib/modules || ':' - - '`which xorriso || echo ":"` --version' - - find /usr/lib/locale || ':' - - ls -lR /usr/share/OVMF* || ':' - - echo -e "section_end:`date +%s`:debug_info\r\e[0K" - -.needs-packages: &needs-packages - before_script: - - add-apt-repository -yu ppa:ubuntu-toolchain-r/test -# - apt-get update -yqq - - apt-get -o Dir::Cache::archives=$PACKAGE_CACHE install -yqq $PACKAGES - .build:ccache: &build-ccache # The ccache dir needs to be cached else its pointless, but set the path in # the global cache, because merging cache path entries isn't possible @@ -336,16 +243,8 @@ stages: - export CCACHE_HARDLINK=true - export CCACHE_TEMPDIR=/tmp/.ccache - export CCACHE_LOGFILE="${BUILDDIR}/ccache.log" - # - export CCACHE_PATH="$CROSS_DIR/gcc-$CROSS_VERSION-nolibc/$CROSS_TARGETS/bin" - export CC="ccache gcc" - # - export CC="strace -y -yy -v -s4096 -o "${BUILDDIR}/ccache.strace.log" ccache gcc" - # - export CC="ccache ${CROSS_TARGETS}-gcc" - # - export CC=/usr/lib/ccache/gcc - ccache --show-stats - # - ln -s /usr/bin/ccache /usr/local/bin/gcc - # ln -s /usr/bin/ccache /usr/local/bin/g++ - # ln -s /usr/bin/ccache /usr/local/bin/cc - # ln -s /usr/bin/ccache /usr/local/bin/c++ after_script: &build-ccache-after_script # The cache should be large enough to be useful but it shouldn't take # too long to restore+save each run. @@ -375,7 +274,6 @@ stages: - start_log -c -n "install_non_repo_env" "Install non-repo pkgs log" # We need to get at least bionic's version of e2fsprogs because before that the # version is < 1.43, which does not have the encrypt option - # - apt-get -t bionic -o Dir::Cache::archives=$PACKAGE_CACHE install -yqq e2fsprogs - if dpkg --compare-versions "$(dpkg-query -l e2fsprogs |tail -n1| awk '{print $3;}')" '<=' 1.43; then wget -nv -P $PACKAGE_CACHE/archives/e2fsprogs http://security.ubuntu.com/ubuntu/pool/main/e/e2fsprogs/e2fsprogs_1.44.1-1ubuntu1.3_amd64.deb @@ -464,89 +362,6 @@ stages: GRUB_TARGETS: [riscv64-efi] CROSS_TARGETS: [riscv64-linux] -.cache:packages: - stage: cache - extends: .pkg-cache - script: - # Install required package dependencies with package manager apt -# - apt-get install -o Dir::Cache::archives=$PACKAGE_CACHE -yqq software-properties-common -# - add-apt-repository -yu ppa:ubuntu-toolchain-r/test - - apt-get update -yqq - - mkdir -vp $PACKAGE_CACHE/partial -# - apt-get -o Dir::Cache::archives=$PACKAGE_CACHE install --download-only -yqq $PACKAGES - -.process-tests: - script: &process-tests-script - - export target=$GRUB_TARGETS - - test "x${SHELL_TRACE}" = "xy" && set -x; - if [ -f ${BUILDDIR}/test.success ]; then - exit 0; - elif [ "x${DISABLE_ALL_TESTS}" = "xy" ] || [ "x${TEST_ALL_TARGETS}" != "xy" -a -z "${DISABLED_TESTS##*$'\n'${target}$'\n'*}" ]; then - echo "No test output processing because testing was disabled"; - exit 0; - fi; - - echo -e "section_start:`date +%s`:process-test-$target[collapsed=true]\r\e[0KProcessing test output of $target"; - if [ -f ${BUILDDIR}/test-suite.log ]; then - FAILURE_COND='^FAIL:'; - if [ "x${FAIL_ON_HARD_ERRORS}" = "xy" ]; then - FAILURE_COND='^(FAIL|ERROR):'; - fi; - - ( grep -E "$FAILURE_COND" ${BUILDDIR}/test-suite.log || ':' ) | - while read _ TESTNAME; do - if echo "${EXPECTED_FAILURES}" | grep -qE "^(${TESTNAME}|${target}:${TESTNAME})$"; then - echo 'Expected failed test:' "$TESTNAME"; - continue; - fi; - - if [ "$TESTNAME" = "grub_func_test" ]; then - FAILURE=0; - grep -E 'test:'' FAIL' ${BUILDDIR}/${TESTNAME}.log | sort -u | - while read FTESTNAME STATUS; do - FTESTNAME=${FTESTNAME%:*}; - if echo "${EXPECTED_FUNCTIONAL_FAILURES}" | grep -qE "^(${FTESTNAME}|${target}:${FTESTNAME})$"; then - echo 'Expected failed functional test:' "$FTESTNAME"; - else - echo -e "${TXT_RED}"'Unexpected failed functional test:' "${FTESTNAME}${TXT_CLEAR}"; - FAILURE=1; - fi; - done; - [ "${FAILURE}" -eq 0 ] && continue; - fi; - - if [ "x${IGNORE_TIMEDOUT_TEST_FAILURE}" = "xy" ] && - tail -n1 "${BUILDDIR}/${TESTNAME}.log" | grep -q 'exit status:'' 137'; then - echo -e "${TXT_RED}"'Ignoring Timed-out test:' "${TESTNAME}${TXT_CLEAR}"; - echo -e -n "\e[97;100m"; - echo "Test failed due to a timeout. This is likely due to" - "insufficient runner resources, and NOT a real failure."; - echo -e -n "${TXT_CLEAR}"; - echo "${TESTNAME}" >> $CI_PROJECT_DIR/${target}.timedout-failures; - else - echo -e "${TXT_RED}"'Unexpected failed test:' "${TESTNAME}${TXT_CLEAR}"; - echo -e -n "\e[97;100m"; - echo "Last 100 lines of ${BUILDDIR}/${TESTNAME}.log"; - tail -n 100 ${BUILDDIR}/${TESTNAME}.log; - echo -e -n "${TXT_CLEAR}"; - echo "${TESTNAME}" >> $CI_PROJECT_DIR/${target}.unexpected-failures; - fi; - done; - else - echo "No success canary and no test-suite.log, perhaps a timeout"; - fi; - echo -e "section_end:`date +%s`:process-test-$target\r\e[0K"; - if [ -f $CI_PROJECT_DIR/${target}.timedout-failures ]; then - sed 's/^/${target}:/' $CI_PROJECT_DIR/${target}.timedout-failures - >> $CI_PROJECT_DIR/build/test.timedout.log; - fi; - if [ -f $CI_PROJECT_DIR/${target}.unexpected-failures ]; then - sed 's/^/${target}:/' $CI_PROJECT_DIR/${target}.unexpected-failures - >> $CI_PROJECT_DIR/build/test.failed.log; - exit 1; - fi; - exit 0; - .cross-compilers: variables: PACKAGES: | @@ -575,20 +390,6 @@ stages: test -d "$CROSS_BIN_DIR" || exit 1; done -.setup:cross-compilers: - stage: setup - when: manual - extends: - - .pkg-cache - - .install-packages - - .cross-compilers - artifacts: - name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}-${GRUB_TARGETS}" - paths: - - $CROSS_DIR - expire_in: 4 hours - - setup:bootstrap: stage: setup extends: @@ -599,8 +400,6 @@ setup:bootstrap: expire_in: 1 week exclude: - $PACKAGE_CACHE -# needs: -# - cache:packages variables: PACKAGES: | python @@ -618,296 +417,11 @@ setup:bootstrap: - . ${SRCDIR}/.ci/functions.gitlab.sh - *install-packages-before_script script: - - *print_debug_info-before_script - - cat /proc/filesystems - # - modprobe hfsplus - # - modprobe f2fs - # - modprobe reiserfs - start_log -c -n "bootstrap" "Bootstrap log"; # We cache the bootstrap, so if the bootstrap canary exists, don't run the bootstrap - '[ -f .bootstrap.finished ] || ( ./bootstrap && touch .bootstrap.finished )' - end_log -n "bootstrap"; -.build:compile: - stage: build - when: manual - extends: - - .needs-cross-path - - .pkg-cache - - .install-packages - artifacts: - name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}-${GRUB_TARGETS}" - paths: - - $CI_PROJECT_DIR/build - - $CI_PROJECT_DIR/install - - $CROSS_DIR - exclude: - - $CI_PROJECT_DIR/build/**/*.o - expire_in: 4 hours - needs: - - setup:cross-compilers - - setup:bootstrap - variables: -# CONFIGURE_OPTS: "--disable-silent-rules" - PACKAGES: | - unifont - libfreetype6-dev - libdevmapper-dev - liblzma-dev - libfuse-dev - libzfslinux-dev - python - make - automake - bison - flex - gettext - pkg-config -# libsdl1.2-dev -# gcc-9-multilib - script: - - echo -e "section_start:`date +%s`:debug_info\r\e[0KDebugging info" - - 'echo "pwd: `pwd`"' - - 'echo "PATH: $PATH"' - - 'echo "CI_BUILDS_DIR: $CI_BUILDS_DIR"' - - 'echo "CI_PROJECT_DIR: $CI_PROJECT_DIR"' - - echo -e "section_start:`date +%s`:vars[collapsed=true]\r\e[0KEnvironment Variables" - - export - - echo -e "section_end:`date +%s`:vars\r\e[0K" - - echo -e "section_end:`date +%s`:debug_info\r\e[0K" - # Build all selected GRUB targets. - - for target in $GRUB_TARGETS; do - set -x; - while [ -z ${PATH%%*\$*} ]; do - eval "PATH=$PATH"; - done; - plat=${target#*-}; - arch=${target%-*}; - case "$arch" in - arm64) arch=aarch64-linux;; - arm) arch=arm-linux-gnueabi;; - mipsel) arch=mips64-linux;; - powerpc) arch=powerpc64-linux;; - ia64|riscv32|riscv64|sparc64) arch=$arch-linux;; - i386|x86_64|mips) ;; - *) echo "Unkown architecture":" $arch"; exit 1;; - esac; - case "$target" in - sparc64-ieee1275) tformats="aout cdcore raw" ;; - Xmipsel-qemu_mips) tformats="elf flash" ;; - Xarm-coreboot) tformats="vexpress veyron" ;; - *) tformats='~' ;; - esac; - echo -e "section_start:`date +%s`:build-$target\r\e[0KBuilding $target"; - builddir=$CI_PROJECT_DIR/build/obj-$target; - installdir=$CI_PROJECT_DIR/install/grub-$target; - mkdir -pv $builddir $installdir; - JOBS=`getconf _NPROCESSORS_ONLN 2> /dev/null || echo 1`; - [ "$JOBS" == 1 ] || JOBS=$(($JOBS + 1)); - ( - cd $builddir && - $CI_PROJECT_DIR/configure --target=$arch --with-platform=$plat --prefix=$installdir $CONFIGURE_OPTS && - make -j$JOBS && - make -j$JOBS install; - for tfmt in $tformats; do - [ -z "${tfmt%~*}" ] || - $builddir/grub-mkimage -p / -O $target${tfmt:+-$tfmt} -o /tmp/grub-$target${tfmt:+-$tfmt} echo reboot normal; - done; - ) || ( - cd $builddir; - echo -e "section_start:`date +%s`:config_log-$target[collapsed=true]\r\e[0KBuild fail logs $target"; - cat config.log; - echo -e "section_end:`date +%s`:config_log-$target\r\e[0K"; - false; - ); - echo -e "section_end:`date +%s`:build-$target\r\e[0K"; - done - parallel: - <<: *target_matrix - -..build:install: - stage: install - allow_failure: true - when: manual - extends: - - .needs-cross-path - - .pkg-cache - - .install-packages - artifacts: - name: "${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}-${GRUB_TARGETS}" - paths: - - $CI_PROJECT_DIR/install - expire_in: 4 hours - needs: - - setup:bootstrap - - build:compile - variables: - PACKAGES: | - python - make - automake - pkg-config -# unifont - script: - - echo -e "section_start:`date +%s`:vars[collapsed=true]\r\e[0KEnvironment Variables" - - export - - echo -e "section_end:`date +%s`:vars\r\e[0K" - # Build all selected GRUB targets. - - for target in $GRUB_TARGETS; do - while [ -z ${PATH%%*\$*} ]; do - eval "PATH=$PATH"; - done; - echo -e "section_start:`date +%s`:install-$target\r\e[0KInstalling $target"; - builddir=$CI_PROJECT_DIR/build/obj-$target; - installdir=$CI_PROJECT_DIR/install/grub-$target; - mkdir -pv $builddir $installdir; - JOBS=`getconf _NPROCESSORS_ONLN 2> /dev/null || echo 1`; - [ "$JOBS" == 1 ] || JOBS=$(($JOBS + 1)); - ( - cd $builddir && - make -j$JOBS install - ); - echo -e "section_end:`date +%s`:install-$target\r\e[0K"; - done - parallel: - <<: *target_matrix - -.build:rescue: - stage: install - allow_failure: true - when: manual - extends: - - .install-packages - artifacts: - name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}" - paths: - - $CI_PROJECT_DIR/rescue - expire_in: 4 hours - needs: - - build:compile - variables: - # EFI platforms use mformat from mtools when building the rescue image - PACKAGES: | - xorriso - mtools - script: - - echo -e "section_start:`date +%s`:vars[collapsed=true]\r\e[0KEnvironment Variables" - - export - - echo -e "section_end:`date +%s`:vars\r\e[0K" - # Build all selected GRUB targets. - - for target in $GRUB_TARGETS; do - echo -e "section_start:`date +%s`:mkrescue-$target\r\e[0KInstalling $target"; - builddir=$CI_PROJECT_DIR/build/obj-$target; - rescuedir=$CI_PROJECT_DIR/rescue; - mkdir -pv $rescuedir; - ( - echo -e "insmod normal; normal" > grub.cfg; - $builddir/grub-mkrescue -v -o $rescuedir/grub-rescue-$target.iso boot/grub/grub.cfg=grub.cfg; - ); - echo -e "section_end:`date +%s`:mkrescue-$target\r\e[0K"; - done - parallel: - <<: *target_matrix - -.build:docs: - stage: build - allow_failure: true - extends: - - .install-packages - variables: - # Use tex packages to build documentation - PACKAGES: | - texinfo - texlive - script: - - make html dvi pdf info ps man - -.test-all: -# image: ubuntu:focal - stage: test - when: manual - extends: - - .needs-cross-path - - .install-packages - artifacts: - name: test-artifacts - when: on_failure - paths: - - $CI_PROJECT_DIR/build/obj-*/*.{log,trs} - needs: - - setup:bootstrap - - build:compile - variables: - PACKAGES: | - ovmf - qemu-system - python - make - automake - pkg-config - bison - flex - wamerican - tar - cpio - gzip - lzop - xz-utils - parted - xorriso - util-linux - squashfs-tools - zfsutils-linux - dosfstools - exfat-utils - ntfs-3g - e2fsprogs - btrfs-progs - xfsprogs - hfsprogs - jfsutils - reiserfsprogs - udftools - nilfs-tools - f2fs-tools - genromfs - attr -# libsdl1.2-dev -# unifont -# libfreetype6-dev -# libdevmapper-dev -# liblzma-dev -# libfuse-dev -# libzfslinux-dev -# autoconf -# autopoint -# git -# gettext - script: - - for target in $GRUB_TARGETS; do - set -x; - while [ -z ${PATH%%*\$*} ]; do - eval "PATH=$PATH"; - done; - plat=${target#*-}; - plat=${plat%-*}; - arch=${target%%-*}; - echo -e "section_start:`date +%s`:test-$target[collapsed=true]\r\e[0KTesting $target"; - builddir=$CI_PROJECT_DIR/build/obj-$target; - installdir=$CI_PROJECT_DIR/install/grub-$target; - mkdir -pv $builddir $installdir; - ls $builddir; - JOBS=`getconf _NPROCESSORS_ONLN 2> /dev/null || echo 1`; - [ "$JOBS" == 1 ] || JOBS=$(($JOBS + 1)); - make -C $builddir -j$JOBS TMPDIR=/tmp SUBDIRS= V=3 check || ( - ls $builddir; - false; - ); - echo -e "section_end:`date +%s`:test-$target\r\e[0K"; - done - parallel: - <<: *target_matrix - # Build and test everything in one (matrix) job build:allinone: stage: build @@ -922,7 +436,6 @@ build:allinone: - $PACKAGE_CACHE artifacts: name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}-${GRUB_TARGETS}" - # when: on_failure when: always paths: &target-archive-paths - $CI_PROJECT_DIR/build/obj-$GRUB_TARGETS/config.h @@ -931,8 +444,6 @@ build:allinone: - $CI_PROJECT_DIR/build/obj-$GRUB_TARGETS/test-data.tar.* - $CI_PROJECT_DIR/build/obj-$GRUB_TARGETS/test.success - $CI_PROJECT_DIR/build/obj-$GRUB_TARGETS/images - # - $CI_PROJECT_DIR/build/*.log - # - $CROSS_DIR exclude: - $CI_PROJECT_DIR/build/**/*.o expire_in: 5 days @@ -942,10 +453,7 @@ build:allinone: <<: *install-extra-qemu-packages-vars BUILDDIR: $CI_PROJECT_DIR/build/obj-$GRUB_TARGETS INSTALLDIR: $CI_PROJECT_DIR/install/grub-$GRUB_TARGETS - # CONFIGURE_OPTS: "--disable-silent-rules" - # TMPDIR: "/tmp" TEST_DATA_PREFIX: $CI_PROJECT_DIR/build/obj-${GRUB_TARGETS}/test-data - # GRUB_QEMU_OPTS: -m size=64M PACKAGES: | wget ### Grub build requirements @@ -1017,14 +525,11 @@ build:allinone: - *install-extra-qemu-packages-before_script - *cross_compilers-setup_script - *build-ccache-before_script - - *print_debug_info-before_script # Need to keep evaling PATH until there are no more variables in it # because gitlab CI does not do recursive variable expansion. - while [ -z ${PATH%%*\$*} ]; do eval "export PATH=$PATH"; done; - - pwd - - ls -la script: # Build all selected GRUB targets. - test "x${SHELL_TRACE}" = "xy" && set -x; @@ -1067,34 +572,12 @@ build:allinone: $SRCDIR/.ci/test.sh 2>&1 | tee ${BUILDDIR}/test.log || :; ) 2>&1 | tee "${BUILDDIR}/${CI_JOB_NAME}.log"; # Do processing of testing output - #- *process-tests-script - TARGET=${GRUB_TARGETS} $SRCDIR/.ci/process-tests.sh # Make images for all formats - TARGET=${GRUB_TARGETS} $SRCDIR/.ci/make-images.sh after_script: - *build-ccache-after_script -.test:allinone: - stage: test - # Run always, even if build fails so we can see pass/fail of the - # individual matrice runs. - when: always - artifacts: - name: "${CI_JOB_NAME}-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}-${GRUB_TARGETS}" -# when: on_failure - when: always - paths: - - $CI_PROJECT_DIR/build/obj-$GRUB_TARGETS/*.{log,trs} - - $CI_PROJECT_DIR/build/*.log -# expire_in: 1 hour - dependencies: -# needs: - - build:allinone - script: &test_allinone-script - - *process-tests-script - parallel: - <<: *target_matrix - package:allinone: stage: .post when: always @@ -1103,11 +586,6 @@ package:allinone: when: always expire_in: 1 month paths: - # - *target-archive-paths - # - $CI_PROJECT_DIR/build/obj-*/*.{log,trs} - # - $CI_PROJECT_DIR/build/obj-*/*.strace* - # - $CI_PROJECT_DIR/build/obj-*/test-data.tar.* - # - $CI_PROJECT_DIR/build/obj-*/test.success - $CI_PROJECT_DIR/build/obj-* - $CI_PROJECT_DIR/build/*.log exclude: @@ -1115,11 +593,9 @@ package:allinone: - $CI_PROJECT_DIR/build/**/.deps-util needs: - build:allinone - # - test:allinone before_script: - . ${SRCDIR}/.ci/functions.gitlab.sh - SUMLOG=$CI_PROJECT_DIR/build/test-summary.log - # - TXT_RED="\e[31m"; TXT_YELLOW="\e[33m"; TXT_CLEAR="\e[0m"; - . $CI_PROJECT_DIR/.ci/functions.gitlab.sh - find $CI_PROJECT_DIR/build > $CI_PROJECT_DIR/build/build-paths.log script: @@ -1154,31 +630,3 @@ package:allinone: - if [ -f "${SUMLOG}" ]; then cat "${SUMLOG}"; fi - -# mergereq:package:allinone: -# extends: -# - package:allinone -# rules: -# - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' -# - if: $CI_MERGE_REQUEST_IID -# - when: always - -#deploy-prod: -# stage: deploy -# script: -# - echo "This job deploys something from the $CI_COMMIT_BRANCH branch." -# - echo "Hello, $GITLAB_USER_LOGIN!" - -# TODO: put generated docs in gitlab pages -# pages: -# stage: deploy -# needs: build:docs -# script: -# - mkdir .public -# - cp -r * .public -# - mv .public public -# artifacts: -# paths: -# - public -# only: -# - master -- 2.27.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel