Skip to content

Commit

Permalink
Merge branch 'maint-0.4.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
nmathewson committed Aug 13, 2020
2 parents 9ef991d + 9d77ed7 commit effc973
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 16 deletions.
34 changes: 29 additions & 5 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ variables:
paths:
- artifacts/

# This template
.apt-template: &apt-template |
export LC_ALL=C.UTF-8
echo Etc/UTC > /etc/timezone
Expand All @@ -57,12 +58,18 @@ variables:
<<: *artifacts-template
variables:
DEBIAN_FRONTEND: "noninteractive"
# TODO: Using "cache" in this way speeds up our downloads. It would be
# even better, though, to start with a pre-upgraded debian image.
#
# TODO: Will we have to do this differently once we have more than one
# debian version that we're using?
cache:
key: apt
paths:
- apt-cache
before_script:
- *apt-template
# Install patches unconditionally.
- apt-get install
automake
build-essential
Expand All @@ -76,23 +83,29 @@ variables:
pkg-config
python3
zlib1g-dev
# Install patches that we only need for some use cases.
- 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
# TODO: This next line should not be debian-only.
- if [ "$STEM" = yes ]; then git clone --depth 1 https://git.torproject.org/stem.git ; export STEM_PATH="$(pwd)/stem"; fi
# TODO: This next line should not be debian-only.
- if [ "$CHUTNEY" = yes ]; then git clone --depth 1 https://git.torproject.org/chutney.git ; export CHUTNEY_PATH="$(pwd)/chutney"; fi

# Minmal check on debian: just make, make check.
#
debian-minimal:
image: debian:stable
<<: *debian-template
script:
- ./scripts/ci/ci-driver.sh


# 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?
#####
# Run "make check" with a hardened clang on debian stable. This takes
# care of a hardening check, and a compile-with-clang check.
#
# TODO: This will be faster once we merge #40098 and #40099.
debian-hardened:
image: debian:testing
<<: *debian-template
Expand All @@ -102,6 +115,8 @@ debian-hardened:
script:
- ./scripts/ci/ci-driver.sh

#####
# Distcheck on debian stable
debian-distcheck:
image: debian:stable
<<: *debian-template
Expand All @@ -111,6 +126,8 @@ debian-distcheck:
script:
- ./scripts/ci/ci-driver.sh

#####
# Documentation tests on debian stable: doxygen and asciidoc.
debian-docs:
image: debian:stable
<<: *debian-template
Expand All @@ -122,12 +139,19 @@ debian-docs:
script:
- ./scripts/ci/ci-driver.sh

#####
# Integration tests on debian stable: chutney and stem.
#
# TODO: It would be cool if this target didn't have to re-build tor, and
# could instead re-use Tor from debian-minimal. That can be done
# with the 'artifacts' mechanism, in theory, but it would be good to
# avoid having to have a system with hundreds of artifacts.
debian-integration:
image: debian:stable
<<: *debian-template
variables:
CHECK: "no"
CHUTNEY: "yes"
# STEM: "yes" -- currently failing on <044.
STEM: "yes"
script:
- ./scripts/ci/ci-driver.sh
34 changes: 23 additions & 11 deletions scripts/ci/ci-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -267,18 +267,26 @@ TOR_VERSION=$(grep -m 1 AC_INIT configure.ac | sed -e 's/.*\[//; s/\].*//;')
# Use variables like these when we need to behave differently depending on
# Tor version. Only create the variables we need.
TOR_VER_AT_LEAST_043=no
TOR_VER_AT_LEAST_044=no

# These are the currently supported Tor versions; no need to work with anything
# ancient in this script.
case "$TOR_VERSION" in
0.3.*)
TOR_VER_AT_LEAST_043=no
TOR_VER_AT_LEAST_044=no
;;
0.4.[012].*)
TOR_VER_AT_LEAST_043=no
TOR_VER_AT_LEAST_044=no
;;
0.4.3.*)
TOR_VER_AT_LEAST_043=yes
TOR_VER_AT_LEAST_044=no
;;
*)
TOR_VER_AT_LEAST_043=yes
TOR_VER_AT_LEAST_044=yes
;;
esac

Expand Down Expand Up @@ -427,21 +435,25 @@ fi

if [[ "${STEM}" = "yes" ]]; then
start_section "Stem"
# XXXX This shold probably be part some test-stem make target.
if runcmd timelimit -p -t 520 -s USR1 -T 30 -S ABRT \
python3 "${STEM_PATH}/run_tests.py" \
--tor src/app/tor \
--integ --test control.controller \
--test control.base_controller \
--test process \
--log TRACE \
--log-file stem.log ; then
hooray "Stem tests have succeeded"
else
if [[ "${TOR_VER_AT_LEAST_044}" = 'yes' ]]; then
# XXXX This shold probably be part some test-stem make target.
if runcmd timelimit -p -t 520 -s USR1 -T 30 -S ABRT \
python3 "${STEM_PATH}/run_tests.py" \
--tor src/app/tor \
--integ --test control.controller \
--test control.base_controller \
--test process \
--log TRACE \
--log-file stem.log ; then
hooray "Stem tests have succeeded"
else
error "Stem output:"
runcmd tail -1000 "${STEM_PATH}"/test/data/tor_log
runcmd grep -v "SocketClosed" stem.log | tail -1000
FAILED_TESTS="${FAILED_TESTS} stem"
fi
else
skipping "Stem: broken with <= 0.4.3. See bug tor#40077"
fi
end_section "Stem"
fi
Expand Down

0 comments on commit effc973

Please sign in to comment.