Merge branch 'maint-0.3.5' into maint-0.4.2

This commit is contained in:
Nick Mathewson 2020-08-12 12:29:17 -04:00
commit 02bb719a94
3 changed files with 67 additions and 48 deletions

View File

@ -66,6 +66,7 @@ variables:
- apt-get install
automake
build-essential
ca-certificates
git
libevent-dev
liblzma-dev
@ -77,6 +78,10 @@ variables:
zlib1g-dev
- if [ "$ASCIIDOC" = yes ]; then apt-get install asciidoc xmlto; fi
- if [ "$DOXYGEN" = yes ]; then apt-get install doxygen; fi
- if [ "$STEM" = yes ]; then apt-get install timelimit; fi
- if [ "$CC" = clang ]; then apt-get install clang; fi
- if [ "$STEM" = yes ]; then git clone --depth 1 https://git.torproject.org/stem.git ; export STEM_PATH="$(pwd)/stem"; fi
- if [ "$CHUTNEY" = yes ]; then git clone --depth 1 https://git.torproject.org/chutney.git ; export CHUTNEY_PATH="$(pwd)/chutney"; fi
debian-minimal:
image: debian:stable
@ -84,17 +89,18 @@ debian-minimal:
script:
- ./scripts/ci/ci-driver.sh
###############################################
# Temporarily diabled. This one just takes too long to finish right now!
# TODO: This one just takes too long to finish right now!
# Maybe we need to divide the call to ./src/test/test into a few segments,
# that all end in similar amount of time?
#debian-hardened:
# image: debian:testing
# <<: *debian-template
# variables:
# HARDENING: "yes"
# script:
# - ./scripts/ci/ci-driver.sh
debian-hardened:
image: debian:testing
<<: *debian-template
variables:
HARDENING: "yes"
CC: "clang"
script:
- ./scripts/ci/ci-driver.sh
debian-distcheck:
image: debian:stable
@ -105,7 +111,6 @@ debian-distcheck:
script:
- ./scripts/ci/ci-driver.sh
# TODO: it would be neat to disable the "make all" part of this one.
debian-docs:
image: debian:stable
<<: *debian-template
@ -113,5 +118,16 @@ debian-docs:
DOXYGEN: "yes"
ASCIIDOC: "yes"
CHECK: "no"
RUN_STAGE_BUILD: "no"
script:
- ./scripts/ci/ci-driver.sh
debian-integration:
image: debian:stable
<<: *debian-template
variables:
CHECK: "no"
CHUTNEY: "yes"
# STEM: "yes" -- currently failing on <044.
script:
- ./scripts/ci/ci-driver.sh

View File

@ -157,6 +157,8 @@ include src/include.am
include doc/include.am
include contrib/include.am
manpages: $(nodist_man1_MANS)
EXTRA_DIST+= \
ChangeLog \
CONTRIBUTING \

View File

@ -21,6 +21,11 @@ COLOR_CI="${COLOR_CI:-yes}"
# Options for which CI system this is.
ON_GITLAB="${ON_GITLAB:-yes}"
# Options for things we usually won't want to skip.
RUN_STAGE_CONFIGURE="${RUN_STAGE_CONFIGURE:-yes}"
RUN_STAGE_BUILD="${RUN_STAGE_BUILD:-yes}"
RUN_STAGE_TEST="${RUN_STAGE_TEST:-yes}"
# Options for how to build Tor. All should be yes/no.
FATAL_WARNINGS="${FATAL_WARNINGS:-yes}"
HARDENING="${HARDENING:-no}"
@ -60,12 +65,14 @@ STEM_PATH="${STEM_PATH:-}"
if [[ "${COLOR_CI}" == "yes" ]]; then
T_RED=$(tput setaf 1 || true)
T_GREEN=$(tput setaf 2 || true)
T_YELLOW=$(tput setaf 3 || true)
T_DIM=$(tput dim || true)
T_BOLD=$(tput bold || true)
T_RESET=$(tput sgr0 || true)
else
T_RED=
T_GREEN=
T_YELLOW=
T_DIM=
T_BOLD=
T_RESET=
@ -80,6 +87,12 @@ function die()
echo "${T_BOLD}${T_RED}FATAL ERROR:${T_RESET} $*" 1>&2
exit 1
}
function skipping()
{
echo "${T_BOLD}${T_YELLOW}Skipping $*${T_RESET}"
}
function hooray()
{
echo "${T_BOLD}${T_GREEN}$*${T_RESET}"
@ -165,33 +178,6 @@ else
}
fi
if [[ "$*" == "" ]]; then
RUN_STAGE_CONFIGURE="yes"
RUN_STAGE_BUILD="yes"
RUN_STAGE_TEST="yes"
else
RUN_STAGE_CONFIGURE="no"
RUN_STAGE_BUILD="no"
RUN_STAGE_TEST="no"
for stage in "$@"; do
case "$stage" in
configure)
RUN_STAGE_CONFIGURE="yes"
;;
build)
RUN_STAGE_BUILD="yes"
;;
test)
RUN_STAGE_TEST="yes"
;;
*)
error "Unknown stage $stage"
;;
esac
done
fi
#############################################################################
# Validate inputs.
@ -206,6 +192,10 @@ yes_or_no RUST
yes_or_no DOXYGEN
yes_or_no ASCIIDOC
yes_or_no RUN_STAGE_CONFIGURE
yes_or_no RUN_STAGE_BUILD
yes_or_no RUN_STAGE_TEST
yes_or_no CHECK
yes_or_no STEM
yes_or_no DISTCHECK
@ -370,6 +360,7 @@ if [[ "$RUN_STAGE_BUILD" = "yes" ]] ; then
end_section Distcheck
fi
fi
##############################
# Run tests.
@ -378,25 +369,32 @@ if [[ "$RUN_STAGE_TEST" == "no" ]]; then
exit 0
fi
if [[ "$RUN_STAGE_BUILD" = "no" ]] ; then
debug "Skipped build stage. Making sure that ./src/app/tor exists."
if [[ ! -f "./src/app/tor" ]]; then
die "$(pwd)/src/app/tor does not exist"
fi
fi
FAILED_TESTS=""
if [[ "${DOXYGEN}" = 'yes' && "${TOR_VER_AT_LEAST_043}" = 'yes' ]]; then
if [[ "${DOXYGEN}" = 'yes' ]]; then
start_section Doxygen
if [[ "${TOR_VER_AT_LEAST_043}" = 'yes' ]]; then
if runcmd make doxygen; then
hooray "make doxygen has succeeded."
else
FAILED_TESTS="${FAILED_TESTS} doxygen"
fi
else
skipping "make doxygen: doxygen is broken for Tor < 0.4.3"
fi
end_section Doxygen
fi
if [[ "${ASCIIDOC}" = 'yes' ]]; then
start_section Asciidoc
if runcmd make manpages; then
hooray "make manpages has succeeded."
else
FAILED_TESTS="${FAILED_TESTS} asciidoc"
fi
end_section Asciidoc
fi
if [[ "${CHECK}" = "yes" ]]; then
start_section "Check"
if runcmd make "${make_options[@]}" check; then
@ -411,10 +409,13 @@ fi
if [[ "${CHUTNEY}" = "yes" ]]; then
start_section "Chutney"
export CHUTNEY_TOR_SANDBOX=0
export CHUTNEY_ALLOW_FAILURES=2
if runcmd make "${CHUTNEY_MAKE_TARGET}"; then
hooray "Chutney tests have succeeded"
else
error "Chutney says:"
export CHUTNEY_DATA_DIR="${CHUTNEY_PATH}/net"
runcmd "${CHUTNEY_PATH}"/tools/diagnostics.sh || true
# XXXX These next two should be part of a make target.
runcmd ls test_network_log || true