mirror of
https://github.com/mirror/wget.git
synced 2025-03-29 13:30:30 +08:00
* .gitlab-ci.yml: Add CI runners from Wget2
This commit is contained in:
parent
bac6fbab6c
commit
57ac97e6d8
307
.gitlab-ci.yml
307
.gitlab-ci.yml
@ -3,6 +3,10 @@
|
|||||||
# to speed up compilation. We include a version number in cache
|
# to speed up compilation. We include a version number in cache
|
||||||
# name to allow expiration of old caches.
|
# name to allow expiration of old caches.
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- stage1-testing
|
||||||
|
- stage2-tarball
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
key: "$CI_JOB_NAME-ver5"
|
key: "$CI_JOB_NAME-ver5"
|
||||||
paths:
|
paths:
|
||||||
@ -20,12 +24,13 @@ after_script:
|
|||||||
# somehow after_script loses environment
|
# somehow after_script loses environment
|
||||||
- export CCACHE_BASEDIR=${PWD}
|
- export CCACHE_BASEDIR=${PWD}
|
||||||
- export CCACHE_DIR=${PWD}/cache
|
- export CCACHE_DIR=${PWD}/cache
|
||||||
- ccache -s
|
- if which ccache >/dev/null; then ccache -s; fi
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
BUILD_IMAGES_PROJECT: gnuwget/build-images
|
BUILD_IMAGES_PROJECT: gnuwget/build-images
|
||||||
DEBIAN_BUILD: buildenv-debian-stretch
|
DEBIAN_BUILD: buildenv-debian-stretch
|
||||||
FEDORA_BUILD: buildenv-f27
|
DEBIAN_TESTING_BUILD: buildenv-debian-testing
|
||||||
|
FEDORA_BUILD: buildenv-fedora
|
||||||
CENTOS7_BUILD: buildenv-centos7
|
CENTOS7_BUILD: buildenv-centos7
|
||||||
MINGW_BUILD: buildenv-mingw
|
MINGW_BUILD: buildenv-mingw
|
||||||
ALPINE_BUILD: buildenv-alpine
|
ALPINE_BUILD: buildenv-alpine
|
||||||
@ -34,19 +39,21 @@ variables:
|
|||||||
GET_SOURCES_ATTEMPTS: "3"
|
GET_SOURCES_ATTEMPTS: "3"
|
||||||
GIT_DEPTH: "5"
|
GIT_DEPTH: "5"
|
||||||
CONFIGURE_BASE_FLAGS: --enable-assert --cache-file cache/config.cache
|
CONFIGURE_BASE_FLAGS: --enable-assert --cache-file cache/config.cache
|
||||||
CFLAGS_DEFAULT: -O0 -g -ggdb3 -Wall -Wextra
|
CFLAGS_DEFAULT: -O0 -g -ggdb3
|
||||||
|
|
||||||
|
|
||||||
VPATH/Debian:
|
VPATH/Debian:
|
||||||
|
stage: stage1-testing
|
||||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||||
script:
|
script:
|
||||||
- cp -a /usr/local/gnulib .
|
- cp -a /usr/local/gnulib .
|
||||||
- export CFLAGS=$CFLAGS_DEFAULT
|
- export CFLAGS=$CFLAGS_DEFAULT
|
||||||
- ./bootstrap --skip-po
|
- ./bootstrap --skip-po && touch .manywarnings
|
||||||
- mkdir vpath && cd vpath
|
- mkdir vpath && cd vpath
|
||||||
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
- ../configure $CONFIGURE_BASE_FLAGS --cache-file ../cache/config.cache
|
||||||
- make -j$(nproc)
|
- make -j$(nproc)
|
||||||
- make -j$(nproc) distcheck
|
- make -j$(nproc) distcheck
|
||||||
|
- mv wget-*.gz ..
|
||||||
tags:
|
tags:
|
||||||
- shared
|
- shared
|
||||||
- docker
|
- docker
|
||||||
@ -58,6 +65,11 @@ VPATH/Debian:
|
|||||||
- fuzz/*.log
|
- fuzz/*.log
|
||||||
- tests/*.log
|
- tests/*.log
|
||||||
- testenv/*.log
|
- testenv/*.log
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_success
|
||||||
|
paths:
|
||||||
|
- wget-*.gz
|
||||||
|
|
||||||
# In this build we combine
|
# In this build we combine
|
||||||
# * syntax-check
|
# * syntax-check
|
||||||
@ -66,29 +78,7 @@ VPATH/Debian:
|
|||||||
# * build/asan-check
|
# * build/asan-check
|
||||||
# * build w/Werror and ubsan-check
|
# * build w/Werror and ubsan-check
|
||||||
OpenSSL/Debian:
|
OpenSSL/Debian:
|
||||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
stage: stage1-testing
|
||||||
script:
|
|
||||||
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
|
|
||||||
- cat /etc/hosts
|
|
||||||
- alias make="make -j$(nproc)"
|
|
||||||
- ./bootstrap --skip-po
|
|
||||||
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=gnutls
|
|
||||||
- make syntax-check
|
|
||||||
- make check
|
|
||||||
- make distcheck
|
|
||||||
- make check-valgrind
|
|
||||||
tags:
|
|
||||||
- shared
|
|
||||||
artifacts:
|
|
||||||
expire_in: 2 weeks
|
|
||||||
when: on_failure
|
|
||||||
paths:
|
|
||||||
- ./*.log
|
|
||||||
- fuzz/*.log
|
|
||||||
- tests/*.log
|
|
||||||
- testenv/*.log
|
|
||||||
|
|
||||||
GnuTLS/Debian:
|
|
||||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||||
script:
|
script:
|
||||||
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
|
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
|
||||||
@ -111,7 +101,32 @@ GnuTLS/Debian:
|
|||||||
- tests/*.log
|
- tests/*.log
|
||||||
- testenv/*.log
|
- testenv/*.log
|
||||||
|
|
||||||
|
GnuTLS/Debian:
|
||||||
|
stage: stage1-testing
|
||||||
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||||
|
script:
|
||||||
|
- echo "127.0.0.1 wgettestingserver" >>/etc/hosts
|
||||||
|
- cat /etc/hosts
|
||||||
|
- alias make="make -j$(nproc)"
|
||||||
|
- ./bootstrap --skip-po
|
||||||
|
- ./configure $CONFIGURE_BASE_FLAGS --with-ssl=gnutls
|
||||||
|
- make syntax-check
|
||||||
|
- make check
|
||||||
|
- make distcheck
|
||||||
|
- make check-valgrind
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- ./*.log
|
||||||
|
- fuzz/*.log
|
||||||
|
- tests/*.log
|
||||||
|
- testenv/*.log
|
||||||
|
|
||||||
Minimal/Debian:
|
Minimal/Debian:
|
||||||
|
stage: stage1-testing
|
||||||
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||||
script:
|
script:
|
||||||
- cp -a /usr/local/gnulib .
|
- cp -a /usr/local/gnulib .
|
||||||
@ -136,37 +151,122 @@ Minimal/Debian:
|
|||||||
- tests/*.log
|
- tests/*.log
|
||||||
- testenv/*.log
|
- testenv/*.log
|
||||||
|
|
||||||
|
# In this build we combine
|
||||||
|
# * clang
|
||||||
|
# * ASan, UBSan
|
||||||
|
# * check, syntax-check
|
||||||
|
Sanitizers/Debian:
|
||||||
|
stage: stage1-testing
|
||||||
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||||
|
script:
|
||||||
|
- cp -a /usr/local/gnulib .
|
||||||
|
# - export CFLAGS="$CFLAGS_DEFAULT -Werror"
|
||||||
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||||
|
- ./bootstrap --skip-po && touch .manywarnings
|
||||||
|
- export CC="ccache clang"
|
||||||
|
- export UBSAN_OPTIONS=print_stacktrace=1
|
||||||
|
- export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7/bin/llvm-symbolizer
|
||||||
|
# - export LSAN_OPTIONS=suppressions="$PWD/tests/clang-asan-suppressions"
|
||||||
|
- ./configure $CONFIGURE_BASE_FLAGS --enable-fsanitize-asan --enable-fsanitize-ubsan
|
||||||
|
- make -j$(nproc) check
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- ./*.log
|
||||||
|
- fuzz/*.log
|
||||||
|
- tests/*.log
|
||||||
|
- testenv/*.log
|
||||||
|
|
||||||
#Centos7 build:
|
Scan-Build/Debian:
|
||||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
|
stage: stage1-testing
|
||||||
# script:
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||||
# - sed -i 's/AM_GNU_GETTEXT_VERSION(0.19.3)/AM_GNU_GETTEXT_VERSION(0.18.2)/g' configure.ac
|
script:
|
||||||
# - ./bootstrap && ./configure --enable-gcc-warnings --disable-doc && make -j$(nproc) check
|
- cp -a /usr/local/gnulib .
|
||||||
# tags:
|
- export CFLAGS=$CFLAGS_DEFAULT
|
||||||
# - shared
|
- ./bootstrap --skip-po
|
||||||
# artifacts:
|
- scan-build ./configure $CONFIGURE_BASE_FLAGS
|
||||||
# expire_in: 2 weeks
|
- make -C lib -j$(nproc)
|
||||||
# when: on_failure
|
- scan-build -v -enable-checker nullability --status-bugs -o scan-build make -j$(nproc)
|
||||||
# paths:
|
tags:
|
||||||
# - tests/*.log
|
- shared
|
||||||
# - compat_reports/
|
except:
|
||||||
|
- tags
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- scan-build/*
|
||||||
|
|
||||||
#clang-analyzer/Fedora:
|
Valgrind/Debian:
|
||||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
|
stage: stage1-testing
|
||||||
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_TESTING_BUILD
|
||||||
|
script:
|
||||||
|
- cp -a /usr/local/gnulib .
|
||||||
|
- export CFLAGS=$CFLAGS_DEFAULT
|
||||||
|
- ./bootstrap --skip-po
|
||||||
|
- ./configure $CONFIGURE_BASE_FLAGS --enable-valgrind-tests
|
||||||
|
- make -j$(nproc)
|
||||||
|
- make check -j$(nproc)
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- ./*.log
|
||||||
|
- fuzz/*.log
|
||||||
|
- tests/*.log
|
||||||
|
- testenv/*.log
|
||||||
|
|
||||||
|
Simple/Fedora:
|
||||||
|
stage: stage1-testing
|
||||||
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
|
||||||
|
script:
|
||||||
|
- cp -a /usr/local/gnulib .
|
||||||
|
# - export CFLAGS="$CFLAGS_DEFAULT -Werror"
|
||||||
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||||
|
- ./bootstrap --skip-po && touch .manywarnings
|
||||||
|
- ./configure $CONFIGURE_BASE_FLAGS
|
||||||
|
- make -j$(nproc) check
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- ./*.log
|
||||||
|
- fuzz/*.log
|
||||||
|
- tests/*.log
|
||||||
|
- testenv/*.log
|
||||||
|
|
||||||
|
#Alpine:
|
||||||
|
# stage: stage1-testing
|
||||||
|
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$ALPINE_BUILD
|
||||||
# script:
|
# script:
|
||||||
# - ./bootstrap
|
# - cp -a /usr/local/gnulib .
|
||||||
# - scan-build ./configure --disable-doc --enable-gcc-warnings
|
# - export CFLAGS="$CFLAGS_DEFAULT"
|
||||||
# - make -j$(nproc) -C gl
|
# - ./bootstrap --skip-po
|
||||||
# - scan-build --status-bugs -o scan-build-lib make -j$(nproc) -C lib
|
# - ./configure $CONFIGURE_BASE_FLAGS
|
||||||
|
# - make -j$(nproc) check
|
||||||
# tags:
|
# tags:
|
||||||
# - shared
|
# - shared
|
||||||
# except:
|
# except:
|
||||||
# - tags
|
# - tags
|
||||||
# artifacts:
|
# artifacts:
|
||||||
# expire_in: 2 weeks
|
# expire_in: 2 weeks
|
||||||
# when: on_failure
|
# when: on_failure
|
||||||
# paths:
|
# paths:
|
||||||
# - scan-build-lib/*
|
# - ./*.log
|
||||||
|
# - fuzz/*.log
|
||||||
|
# - tests/*.log
|
||||||
|
# - testenv/*.log
|
||||||
|
|
||||||
#pages:
|
#pages:
|
||||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_BUILD
|
||||||
@ -192,24 +292,91 @@ Minimal/Debian:
|
|||||||
# only:
|
# only:
|
||||||
# - master
|
# - master
|
||||||
|
|
||||||
#MinGW64:
|
MinGW64:
|
||||||
# image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
|
stage: stage1-testing
|
||||||
# before_script:
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD
|
||||||
# - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc &&
|
script:
|
||||||
# echo ':DOSWin:M::MZ::/usr/bin/wine64:' > /proc/sys/fs/binfmt_misc/register
|
# - apt-get install libhttp-daemon-perl libio-socket-ssl-perl python3
|
||||||
# script:
|
- ./bootstrap --skip-po
|
||||||
# - ./bootstrap
|
# - cp pthread_sigmask.c.mingw lib/pthread_sigmask.c
|
||||||
# - mingw64-configure --disable-valgrind-tests --disable-doc
|
- export CC="ccache $PREFIX-gcc"
|
||||||
# - mingw64-make -j$(nproc)
|
- export GCCLIB=$(dirname $(find /usr/lib/gcc/$PREFIX -name libgcc_s_seh-1.dll|grep posix))
|
||||||
# - mingw64-make -j$(nproc) check
|
- export WINEPATH="$WINEPATH;/usr/$PREFIX/bin;/usr/$PREFIX/lib;$PWD/libwget/.libs;$GCCLIB"
|
||||||
# tags:
|
- echo "WINEPATH=$WINEPATH"
|
||||||
# - shared
|
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared
|
||||||
# - docker
|
- make -j$(nproc)
|
||||||
# except:
|
- make clean
|
||||||
# - tags
|
- LIBS="-ldl -lpsapi" ./configure $CONFIGURE_BASE_FLAGS --build=x86_64-pc-linux-gnu --host=$PREFIX --enable-shared --disable-threads
|
||||||
# artifacts:
|
- make -j$(nproc)
|
||||||
# expire_in: 2 weeks
|
- make check -j$(nproc) LOG_COMPILER=wine
|
||||||
# when: on_failure
|
tags:
|
||||||
# paths:
|
- shared
|
||||||
# - ./*.log
|
- docker
|
||||||
# - tests/*.log
|
except:
|
||||||
|
- tags
|
||||||
|
allow_failure: true
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- ./config.h
|
||||||
|
- ./*.log
|
||||||
|
- fuzz/*.log
|
||||||
|
- tests/*.log
|
||||||
|
- testenv/*.log
|
||||||
|
|
||||||
|
Build/Arch:
|
||||||
|
stage: stage1-testing
|
||||||
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$ARCH_BUILD
|
||||||
|
script:
|
||||||
|
- export CFLAGS="$CFLAGS_DEFAULT"
|
||||||
|
- ./bootstrap --skip-po && touch .manywarnings
|
||||||
|
- ./configure $CONFIGURE_BASE_FLAGS
|
||||||
|
- make -j$(nproc)
|
||||||
|
- make check -j$(nproc)
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
- docker
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- ./*.log
|
||||||
|
- fuzz/*.log
|
||||||
|
- tests/*.log
|
||||||
|
- testenv/*.log
|
||||||
|
|
||||||
|
|
||||||
|
# Test building from tarball in a non-dev environment
|
||||||
|
Tarball:
|
||||||
|
stage: stage2-tarball
|
||||||
|
image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$BASIC_BUILD
|
||||||
|
variables:
|
||||||
|
GIT_STRATEGY: none
|
||||||
|
script:
|
||||||
|
# remove all files from git repo
|
||||||
|
- mv wget-*.gz /tmp
|
||||||
|
- rm -rf * .git* .travis*
|
||||||
|
- mv /tmp/wget-*.gz .
|
||||||
|
# unpack and build from tarball
|
||||||
|
- tar xvf wget-*.gz
|
||||||
|
- cd wget-*
|
||||||
|
- unset CC
|
||||||
|
- ./configure $CONFIGURE_BASE_FLAGS
|
||||||
|
- make -j$(nproc)
|
||||||
|
- make -j$(nproc) check
|
||||||
|
# check if essential files are accidentally cleaned
|
||||||
|
- make clean
|
||||||
|
- make -j$(nproc)
|
||||||
|
tags:
|
||||||
|
- shared
|
||||||
|
dependencies:
|
||||||
|
- VPATH/Debian
|
||||||
|
artifacts:
|
||||||
|
expire_in: 2 weeks
|
||||||
|
when: on_failure
|
||||||
|
paths:
|
||||||
|
- wget-*/*.log
|
||||||
|
- wget-*/fuzz/*.log
|
||||||
|
- wget-*/tests/*.log
|
||||||
|
- wget-*/testenv/*.log
|
||||||
|
Loading…
Reference in New Issue
Block a user