From: Justin Pryzby Date: Thu, 28 Jul 2022 10:57:26 -0500 Subject: [PATCH 2/2] f! ci-os-only: mingw --- .cirrus.yml | 23 ++++++++++++++++------- config/prep_buildtree | 18 ++++++------------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 1a06cdcaadb..93774485bef 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -348,8 +348,6 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE # Avoids port conflicts between concurrent tap test runs PG_TEST_USE_UNIX_SOCKETS: 1 - only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*' - sysinfo_script: | chcp systeminfo @@ -360,6 +358,8 @@ task: << : *WINDOWS_ENVIRONMENT_BASE name: Windows - Server 2019, VS 2019 + only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*' + env: # Our windows infrastructure doesn't have test concurrency above the level # of a single vcregress test target. Due to that, it's useful to run prove @@ -465,6 +465,8 @@ task: task: << : *WINDOWS_ENVIRONMENT_BASE name: Windows - Server 2019, MinGW64 + only_if: $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*mingw.*' + windows_container: image: $CONTAINER_REPO/windows_ci_mingw64:latest cpu: $CPUS @@ -482,21 +484,28 @@ task: - C:\msys64\usr\bin\dash.exe -lc "where perl" - C:\msys64\usr\bin\dash.exe -lc "perl --version" + setup_additional_packages_script: | + REM C:\msys64\usr\bin\pacman.exe -S --noconfirm busybox + configure_script: - C:\msys64\usr\bin\dash.exe -lc "mkdir %BUILD_DIR% && - cd %BUILD_DIR% && + cd %BUILD_DIR% && for i in 1 2; do %CIRRUS_WORKING_DIR%/configure + --cache-file=${CCACHE_DIR}/configure.cache --enable-cassert + --enable-debug --enable-tap-tests --with-icu --with-libxml --with-libxslt --with-lz4 - --enable-debug CC='ccache gcc' CXX='ccache g++' CFLAGS='-Og -ggdb -pipe' - CXXFLAGS='-Og -ggdb'" + CXXFLAGS='-Og -ggdb' && break; + rm -v ${CCACHE_DIR}/configure.cache; + done + " build_script: C:\msys64\usr\bin\dash.exe -lc "cd %BUILD_DIR% && make -s world-bin -j${CPUS}" @@ -504,8 +513,8 @@ task: upload_caches: ccache tests_script: - - set "NoDefaultCurrentDirectoryInExePath=0" - - C:\msys64\usr\bin\dash.exe -lc "cd %BUILD_DIR% && make -s ${CHECK} ${CHECKFLAGS} -j${CPUS} TMPDIR=%BUILD_DIR%/tmp_install" + - set "NoDefaultCurrentDirectoryInExePath=0" + - C:\msys64\usr\bin\dash.exe -lc "cd %BUILD_DIR% && make -s ${CHECK} ${CHECKFLAGS} -j${CPUS} TMPDIR=%BUILD_DIR%/tmp_install" on_failure: *on_failure diff --git a/config/prep_buildtree b/config/prep_buildtree index a0eabd3dee2..4de30ac28a5 100644 --- a/config/prep_buildtree +++ b/config/prep_buildtree @@ -26,20 +26,14 @@ buildtree=`cd ${2:-'.'} && pwd` # If we did, it would interfere with installation of prebuilt docs from # the source tree, if a VPATH build is done from a distribution tarball. # See bug #5595. -for item in `find "$sourcetree" -type d \( \( -name CVS -prune \) -o \( -name .git -prune \) -o -print \) | grep -v "$sourcetree/doc/src/sgml/\+"`; do - subdir=`expr "$item" : "$sourcetree\(.*\)"` - if test ! -d "$buildtree/$subdir"; then - mkdir -p "$buildtree/$subdir" || exit 1 - fi -done +( cd "$sourcetree" && find . -type d \( \( -name CVS -prune \) -o \( -name .git -prune \) -o -print \) |grep -v "doc/src/sgml/\+" ) | + ( cd "$buildtree" && xargs mkdir -p ) for item in `find "$sourcetree" -name Makefile -print -o -name GNUmakefile -print | grep -v "$sourcetree/doc/src/sgml/images/"`; do - filename=`expr "$item" : "$sourcetree\(.*\)"` - if test ! -f "${item}.in"; then - if cmp "$item" "$buildtree/$filename" >/dev/null 2>&1; then : ; else - ln -fs "$item" "$buildtree/$filename" || exit 1 - fi - fi + filename=${item#$sourcetree} + [ -e "$buildtree/$filename" ] && continue + cmp "$item" "$buildtree/$filename" >/dev/null 2>&1 || + ln -fs "$item" "$buildtree/$filename" done exit 0 -- 2.17.1 --Ca0e2zgpnh8/XhnM--