Loading .gitlab-ci.yml +26 −10 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ variables: - apt-get install automake build-essential ca-certificates git libevent-dev liblzma-dev Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Makefile.am +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ include src/include.am include doc/include.am include contrib/include.am manpages: $(nodist_man1_MANS) EXTRA_DIST+= \ ChangeLog \ CONTRIBUTING \ Loading scripts/ci/ci-driver.sh +39 −38 Original line number Diff line number Diff line Loading @@ -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}" Loading Loading @@ -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= Loading @@ -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}" Loading Loading @@ -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. Loading @@ -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 Loading Loading @@ -370,6 +360,7 @@ if [[ "$RUN_STAGE_BUILD" = "yes" ]] ; then end_section Distcheck fi fi ############################## # Run tests. Loading @@ -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 Loading @@ -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 Loading Loading
.gitlab-ci.yml +26 −10 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ variables: - apt-get install automake build-essential ca-certificates git libevent-dev liblzma-dev Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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
Makefile.am +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ include src/include.am include doc/include.am include contrib/include.am manpages: $(nodist_man1_MANS) EXTRA_DIST+= \ ChangeLog \ CONTRIBUTING \ Loading
scripts/ci/ci-driver.sh +39 −38 Original line number Diff line number Diff line Loading @@ -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}" Loading Loading @@ -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= Loading @@ -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}" Loading Loading @@ -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. Loading @@ -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 Loading Loading @@ -370,6 +360,7 @@ if [[ "$RUN_STAGE_BUILD" = "yes" ]] ; then end_section Distcheck fi fi ############################## # Run tests. Loading @@ -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 Loading @@ -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 Loading