mirror of
https://github.com/mirror/wget.git
synced 2025-03-25 17:20:13 +08:00
* .gitlab-ci.yml: Re-arrange stages
This commit is contained in:
parent
c1599deb1f
commit
de4b94a5ae
270
.gitlab-ci.yml
270
.gitlab-ci.yml
@ -3,9 +3,8 @@
|
||||
# to speed up compilation.
|
||||
|
||||
stages:
|
||||
- bootstrap
|
||||
- test
|
||||
- deploy-test
|
||||
- test-from-git
|
||||
- test-from-tarball
|
||||
- deploy
|
||||
|
||||
cache:
|
||||
@ -25,7 +24,7 @@ after_script:
|
||||
# somehow after_script loses environment
|
||||
- export CCACHE_BASEDIR=${PWD}
|
||||
- export CCACHE_DIR=${PWD}/cache
|
||||
- if which ccache >/dev/null; then ccache -s; fi
|
||||
- if type -p ccache >/dev/null; then ccache -s; fi
|
||||
|
||||
variables:
|
||||
BUILD_IMAGES_PROJECT: gnuwget/build-images
|
||||
@ -40,49 +39,22 @@ variables:
|
||||
GET_SOURCES_ATTEMPTS: "3"
|
||||
GIT_DEPTH: "5"
|
||||
CONFIGURE_BASE_FLAGS: --enable-assert --cache-file cache/config.cache
|
||||
CFLAGS_DEFAULT: -O2 -g -ggdb3
|
||||
|
||||
|
||||
# Debian Builds
|
||||
|
||||
Debian-Testing:
|
||||
stage: bootstrap
|
||||
image: $CI_BASE_PATH/debian:testing-bootstrap
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- ./bootstrap --skip-po && touch .manywarnings
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- ./*.log
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_success
|
||||
paths:
|
||||
- ./
|
||||
exclude:
|
||||
- .git/
|
||||
- .gitmodules
|
||||
- gnulib/
|
||||
- cache
|
||||
- cache/*
|
||||
- cache/**
|
||||
CFLAGS_DEFAULT: -O0 -g -ggdb3
|
||||
|
||||
# Create the tarball in a separate build directory (VPATH).
|
||||
Build-Tarball:
|
||||
stage: test
|
||||
image: $CI_BASE_PATH/debian:testing-bootstrap
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
stage: test-from-git
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- ./bootstrap
|
||||
- autoreconf -fi
|
||||
- mkdir vpath && cd vpath
|
||||
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache --without-ssl
|
||||
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
--without-ssl --enable-ipv6 --without-zlib --without-libiconv-prefix
|
||||
--disable-iri --disable-ntlm --disable-pcre --without-libpsl --without-libuuid
|
||||
--without-libintl-prefix
|
||||
- make -j$(nproc)
|
||||
- make -j$(nproc) syntax-check
|
||||
- make -j$(nproc) dist
|
||||
- mv wget-*.gz ..
|
||||
@ -91,9 +63,6 @@ Build-Tarball:
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
@ -110,12 +79,14 @@ Build-Tarball:
|
||||
- wget-*.gz
|
||||
|
||||
Valgrind:
|
||||
stage: test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make check-valgrind
|
||||
tags:
|
||||
@ -124,8 +95,8 @@ Valgrind:
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
@ -136,7 +107,7 @@ Valgrind:
|
||||
- wget-*/testenv/*.log
|
||||
|
||||
Minimal:
|
||||
stage: deploy-test
|
||||
stage: test-from-tarball
|
||||
image: $CI_BASE_PATH/debian:testing-minimal
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
@ -167,7 +138,7 @@ Minimal:
|
||||
- wget-*/testenv/*.log
|
||||
|
||||
Debian-OldStable:
|
||||
stage: deploy-test
|
||||
stage: test-from-tarball
|
||||
image: $CI_BASE_PATH/debian:oldstable
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
@ -178,14 +149,14 @@ Debian-OldStable:
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make
|
||||
- make -j$(nproc) check
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
@ -196,7 +167,7 @@ Debian-OldStable:
|
||||
- wget-*/testenv/*.log
|
||||
|
||||
Debian-Stable:
|
||||
stage: deploy-test
|
||||
stage: test-from-tarball
|
||||
image: $CI_BASE_PATH/debian:stable
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
@ -205,15 +176,14 @@ Debian-Stable:
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make
|
||||
- make -j$(nproc) check
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
@ -225,7 +195,7 @@ Debian-Stable:
|
||||
- wget-*/testenv/*.log
|
||||
|
||||
CentOS-OldLTS:
|
||||
stage: deploy-test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS_OLDLTS_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
@ -234,17 +204,15 @@ CentOS-OldLTS:
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make
|
||||
- make -j$(nproc)
|
||||
- make -j$(nproc) check
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
# The test suite is currently broken, so a temporary allowance
|
||||
allow_failure: true
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
@ -254,26 +222,31 @@ CentOS-OldLTS:
|
||||
- wget-*/fuzz/*.log
|
||||
- wget-*/tests/*.log
|
||||
- wget-*/testenv/*.log
|
||||
# The test suite is currently broken, so a temporary allowance
|
||||
allow_failure: true
|
||||
|
||||
TLS/OpenSSL:
|
||||
stage: test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
|
||||
- cat /etc/hosts
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=openssl
|
||||
- make -j$(nproc) distcheck
|
||||
- make check-valgrind
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache --with-ssl=openssl
|
||||
- make -j$(nproc)
|
||||
- make -j$(nproc) check-valgrind
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
@ -284,24 +257,27 @@ TLS/OpenSSL:
|
||||
- testenv/*.log
|
||||
|
||||
TLS/GnuTLS:
|
||||
stage: test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
|
||||
- cat /etc/hosts
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=gnutls
|
||||
- make -j$(nproc) distcheck
|
||||
- make check-valgrind
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache --with-ssl=gnutls
|
||||
- make -j$(nproc)
|
||||
- make -j$(nproc) check-valgrind
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
@ -311,20 +287,23 @@ TLS/GnuTLS:
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
|
||||
|
||||
Sanitizers:
|
||||
stage: test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
# - export CFLAGS="$CFLAGS_DEFAULT -Werror"
|
||||
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||
- export CC="ccache clang"
|
||||
- export UBSAN_OPTIONS=print_stacktrace=1
|
||||
- export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-8/bin/llvm-symbolizer
|
||||
# - export LSAN_OPTIONS=suppressions="$PWD/tests/clang-asan-suppressions"
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --enable-fsanitize-asan --enable-fsanitize-ubsan
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
--enable-fsanitize-asan --enable-fsanitize-ubsan
|
||||
- make -j$(nproc) check
|
||||
tags:
|
||||
- shared
|
||||
@ -332,8 +311,8 @@ Sanitizers:
|
||||
except:
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
@ -343,17 +322,16 @@ Sanitizers:
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
|
||||
|
||||
# Maybe we should run scan-build on a tarball build?
|
||||
Scan-Build:
|
||||
stage: test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- rm .manywarnings
|
||||
- scan-build ./configure $CONFIGURE_BASE_FLAGS
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- scan-build ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make -C lib -j$(nproc)
|
||||
- scan-build -v -enable-checker nullability --keep-empty --status-bugs -o scan-build make -j$(nproc)
|
||||
tags:
|
||||
@ -362,51 +340,97 @@ Scan-Build:
|
||||
except:
|
||||
- tags
|
||||
- coverity-scan@gnuwget/wget
|
||||
allow_failure: true
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- scan-build
|
||||
- wget-*/scan-build/*
|
||||
# There currently is a false positive that needs to be suppressed.
|
||||
allow_failure: true
|
||||
|
||||
CoverageReports:
|
||||
stage: test
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||
- ./configure $CONFIGURE_BASE_FLAGS
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
- make -j$(nproc) check-coverage
|
||||
- mv lcov test-coverage
|
||||
- make -C doc html
|
||||
- make -j$(nproc) fuzz-coverage
|
||||
- mv lcov fuzz-coverage
|
||||
- make dist
|
||||
- mv wget-*.gz wget-latest.tar.gz
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
dependencies:
|
||||
- Debian-Testing
|
||||
needs: ["Debian-Testing"]
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
when: on_success
|
||||
paths:
|
||||
- wget-latest.tar.gz
|
||||
- test-coverage/
|
||||
- fuzz-coverage/
|
||||
only:
|
||||
- master
|
||||
|
||||
MinGW64:
|
||||
stage: test-from-tarball
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
|
||||
- echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
|
||||
- export CC="ccache $PREFIX-gcc"
|
||||
- export GCCLIB=$(dirname $(find /usr/lib/gcc/$PREFIX -name libgcc_s_seh-1.dll|grep posix))
|
||||
- export WINEPATH="$WINEPATH;/usr/$PREFIX/bin;/usr/$PREFIX/lib;$PWD/libwget/.libs;$GCCLIB"
|
||||
- echo "WINEPATH=$WINEPATH"
|
||||
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||
--build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared
|
||||
- make -j$(nproc)
|
||||
- cp -p src/wget.exe src/wget
|
||||
- make check -j$(nproc) LOG_COMPILER=wine
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- tags
|
||||
- coverity-scan@gnuwget/wget
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- wget-*/./config.h
|
||||
- wget-*/./*.log
|
||||
- wget-*/fuzz/*.log
|
||||
- wget-*/tests/*.log
|
||||
- wget-*/testenv/*.log
|
||||
# The MinGW64 build breaks quite often, mostly due to dependencies.
|
||||
allow_failure: true
|
||||
|
||||
# Build from git should work on Arch.
|
||||
ArchLinux:
|
||||
stage: test
|
||||
stage: test-from-git
|
||||
image: $CI_BASE_PATH/archlinux
|
||||
script:
|
||||
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||
- ./bootstrap --skip-po && touch .manywarnings
|
||||
- ./bootstrap
|
||||
- autoreconf -fi
|
||||
- touch .manywarnings
|
||||
- ./configure $CONFIGURE_BASE_FLAGS
|
||||
- make -j$(nproc)
|
||||
- make check -j$(nproc)
|
||||
@ -425,12 +449,15 @@ ArchLinux:
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
|
||||
# Build from git should work on Fedora.
|
||||
Fedora:
|
||||
stage: test
|
||||
stage: test-from-git
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
|
||||
script:
|
||||
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||
- ./bootstrap --skip-po && touch .manywarnings
|
||||
- ./bootstrap
|
||||
- autoreconf -fi
|
||||
- touch .manywarnings
|
||||
- ./configure $CONFIGURE_BASE_FLAGS
|
||||
- make -j$(nproc) check
|
||||
tags:
|
||||
@ -448,52 +475,13 @@ Fedora:
|
||||
- tests/*.log
|
||||
- testenv/*.log
|
||||
|
||||
MinGW64:
|
||||
stage: deploy-test
|
||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
script:
|
||||
- mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc &&
|
||||
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
|
||||
- tar xvf wget-*.gz
|
||||
- cd wget-*/
|
||||
- export CFLAGS=$CFLAGS_DEFAULT
|
||||
- export CC="ccache $PREFIX-gcc"
|
||||
- export GCCLIB=$(dirname $(find /usr/lib/gcc/$PREFIX -name libgcc_s_seh-1.dll|grep posix))
|
||||
- export WINEPATH="$WINEPATH;/usr/$PREFIX/bin;/usr/$PREFIX/lib;$PWD/libwget/.libs;$GCCLIB"
|
||||
- echo "WINEPATH=$WINEPATH"
|
||||
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared
|
||||
- make -j$(nproc)
|
||||
- cp -p src/wget.exe src/wget
|
||||
- make check -j$(nproc) LOG_COMPILER=wine
|
||||
dependencies:
|
||||
- Build-Tarball
|
||||
needs: ["Build-Tarball"]
|
||||
tags:
|
||||
- shared
|
||||
- linux
|
||||
except:
|
||||
- tags
|
||||
- coverity-scan@gnuwget/wget
|
||||
allow_failure: true
|
||||
artifacts:
|
||||
expire_in: 2 weeks
|
||||
when: on_failure
|
||||
paths:
|
||||
- wget-*/./config.h
|
||||
- wget-*/./*.log
|
||||
- wget-*/fuzz/*.log
|
||||
- wget-*/tests/*.log
|
||||
- wget-*/testenv/*.log
|
||||
|
||||
|
||||
pages:
|
||||
stage: deploy
|
||||
script:
|
||||
- mkdir -p public
|
||||
- rm -rf public/reference public/coverage public/fuzz-coverage
|
||||
- mv wget-latest.tar.gz public/
|
||||
- mv wget-*.gz public/wget-latest.tar.gz
|
||||
- mv test-coverage public/coverage
|
||||
- mv fuzz-coverage public/fuzz-coverage
|
||||
- mv scan-build public/scan-build
|
||||
|
@ -55,8 +55,6 @@ AM_INIT_AUTOMAKE([subdir-objects dist-lzip])
|
||||
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
AC_PROG_CC
|
||||
AC_PROG_CC_C99
|
||||
AM_PROG_CC_C_O
|
||||
|
||||
dnl
|
||||
dnl Get canonical host
|
||||
|
Loading…
Reference in New Issue
Block a user