aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2020-08-12 12:29:17 -0400
committerNick Mathewson <nickm@torproject.org>2020-08-12 12:29:17 -0400
commitf98b1988ec5ca1eb3d2923faf43c1df7541efafb (patch)
treeba23af3b95994141812792c23c2567ae0bd09d47
parent670f5632a54e5ae119e9d92eaebc583aab3fe0d1 (diff)
parent309eafbc3c0064a670f5f4b11c3639f7ade6229b (diff)
downloadtor-f98b1988ec5ca1eb3d2923faf43c1df7541efafb.tar.gz
tor-f98b1988ec5ca1eb3d2923faf43c1df7541efafb.zip
Merge branch 'maint-0.4.3' into maint-0.4.4
-rw-r--r--.gitlab-ci.yml36
-rw-r--r--Makefile.am2
-rwxr-xr-xscripts/ci/ci-driver.sh77
3 files changed, 67 insertions, 48 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index abc5003678..8ed615687b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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
diff --git a/Makefile.am b/Makefile.am
index 8a26c6403b..49d5637428 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -164,6 +164,8 @@ include src/include.am
include doc/include.am
include contrib/include.am
+manpages: $(nodist_man1_MANS)
+
EXTRA_DIST+= \
ChangeLog \
CONTRIBUTING \
diff --git a/scripts/ci/ci-driver.sh b/scripts/ci/ci-driver.sh
index ad08ee5af0..6faffd7b40 100755
--- a/scripts/ci/ci-driver.sh
+++ b/scripts/ci/ci-driver.sh
@@ -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 runcmd make doxygen; then
- hooray "make doxygen has succeeded."
+ 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
- FAILED_TESTS="${FAILED_TESTS} doxygen"
+ 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