Loading .gitlab-ci.yml +29 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ variables: paths: - artifacts/ # This template .apt-template: &apt-template | export LC_ALL=C.UTF-8 echo Etc/UTC > /etc/timezone Loading @@ -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 Loading @@ -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 Loading @@ -102,6 +115,8 @@ debian-hardened: script: - ./scripts/ci/ci-driver.sh ##### # Distcheck on debian stable debian-distcheck: image: debian:stable <<: *debian-template Loading @@ -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 Loading @@ -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 scripts/ci/ci-driver.sh +23 −11 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -427,6 +435,7 @@ fi if [[ "${STEM}" = "yes" ]]; then start_section "Stem" 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" \ Loading @@ -443,6 +452,9 @@ if [[ "${STEM}" = "yes" ]]; then 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 Loading Loading
.gitlab-ci.yml +29 −5 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ variables: paths: - artifacts/ # This template .apt-template: &apt-template | export LC_ALL=C.UTF-8 echo Etc/UTC > /etc/timezone Loading @@ -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 Loading @@ -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 Loading @@ -102,6 +115,8 @@ debian-hardened: script: - ./scripts/ci/ci-driver.sh ##### # Distcheck on debian stable debian-distcheck: image: debian:stable <<: *debian-template Loading @@ -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 Loading @@ -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
scripts/ci/ci-driver.sh +23 −11 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -427,6 +435,7 @@ fi if [[ "${STEM}" = "yes" ]]; then start_section "Stem" 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" \ Loading @@ -443,6 +452,9 @@ if [[ "${STEM}" = "yes" ]]; then 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 Loading