Loading .gitlab-ci.yml +72 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ variables: paths: - artifacts/ # This template # This template should be usable on any system that's based on apt. .apt-template: &apt-template | export LC_ALL=C.UTF-8 echo Etc/UTC > /etc/timezone Loading @@ -54,6 +54,7 @@ variables: apt-get update -qq apt-get upgrade -qy # This template sets us up for Debian system in particular. .debian-template: &debian-template <<: *artifacts-template variables: Loading Loading @@ -88,10 +89,12 @@ variables: - 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 [ "$NSS" = yes ]; then apt-get install libnss3 libnss3-dev; 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 - if [ "$TRACING" = yes ]; then apt install liblttng-ust-dev; fi # Minmal check on debian: just make, make check. # Loading @@ -110,6 +113,7 @@ debian-hardened: image: debian:testing <<: *debian-template variables: ALL_BUGS_ARE_FATAL: "yes" HARDENING: "yes" CC: "clang" script: Loading Loading @@ -152,6 +156,73 @@ debian-integration: variables: CHECK: "no" CHUTNEY: "yes" CHUTNEY_MAKE_TARGET: "test-network-all" STEM: "yes" ALL_BUGS_ARE_FATAL: "yes" script: - ./scripts/ci/ci-driver.sh ##### # Tracing build on Debian stable. debian-tracing: image: debian:stable <<: *debian-template variables: TRACING: "yes" CHECK: "no" script: - ./scripts/ci/ci-driver.sh # Ensure that we only run tracing when it's implemented. # # Once versions before 0.4.5 are obsolete, we can remove this test. rules: # This first "if" check prevents us from running a duplicate version of # this pipeline whenever we push and create an MR. I don't understand why # it is necessary, though the following URL purports to explain: # # https://docs.gitlab.com/ee/ci/yaml/#prevent-duplicate-pipelines - if: '$CI_PIPELINE_SOURCE == "push"' exists: - src/lib/trace/trace_sys.c ##### # No-authority mode debian-disable-dirauth: image: debian:stable <<: *debian-template variables: DISABLE_DIRAUTH: "yes" script: - ./scripts/ci/ci-driver.sh ##### # No-relay mode debian-disable-relay: image: debian:stable <<: *debian-template variables: DISABLE_RELAY: "yes" script: - ./scripts/ci/ci-driver.sh # Ensure that we only run tracing when it's implemented. # # Once versions before 0.4.3 are obsolete, we can remove this test. rules: # This first "if" check prevents us from running a duplicate version of # this pipeline whenever we push and create an MR. I don't understand why # it is necessary, though the following URL purports to explain: # # https://docs.gitlab.com/ee/ci/yaml/#prevent-duplicate-pipelines - if: '$CI_PIPELINE_SOURCE == "push"' exists: - src/feature/relay/relay_stub.c ##### # NSS check on debian debian-nss: image: debian:stable <<: *debian-template variables: NSS: "yes" script: - ./scripts/ci/ci-driver.sh changes/ticket40125 0 → 100644 +4 −0 Original line number Diff line number Diff line o Testing (onion service v2): - Fix a rendezvous cache unit test that was triggering an underflow on the global rend cache allocation. Fixes bug 40125; bugfix on 0.2.8.1-alpha. changes/ticket40126 0 → 100644 +4 −0 Original line number Diff line number Diff line o Testing (onion service v2): - Fix another rendezvous cache unit test that was triggering an underflow on the global rend cache allocation. Fixes bug 40126; bugfix on 0.2.8.1-alpha. changes/ticket40135 0 → 100644 +3 −0 Original line number Diff line number Diff line o Minor bugfix (logging): - Remove a debug logging statement that uselessly spam the logs. Fixes bug 40135; bugfix on 0.3.5.0-alpha. scripts/ci/ci-driver.sh +25 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ COVERAGE="${COVERAGE:-no}" RUST="${RUST:-no}" DOXYGEN="${DOXYGEN:-no}" ASCIIDOC="${ASCIIDOC:-no}" TRACING="${TRACING:-no}" ALL_BUGS_ARE_FATAL="${ALL_BUGS_ARE_FATAL:-no}" DISABLE_DIRAUTH="${DISABLE_DIRAUTH:-no}" DISABLE_RELAY="${DISABLE_RELAY:-no}" NSS="${NSS:-no}" # Options for which tests to run. All should be yes/no. CHECK="${CHECK:-yes}" Loading Loading @@ -191,6 +196,11 @@ yes_or_no COVERAGE yes_or_no RUST yes_or_no DOXYGEN yes_or_no ASCIIDOC yes_or_no TRACING yes_or_no ALL_BUGS_ARE_FATAL yes_or_no DISABLE_DIRAUTH yes_or_no DISABLE_RELAY yes_or_no NSS yes_or_no RUN_STAGE_CONFIGURE yes_or_no RUN_STAGE_BUILD Loading Loading @@ -241,6 +251,21 @@ fi if [[ "$ASCIIDOC" != "yes" ]]; then configure_options+=("--disable-asciidoc") fi if [[ "$TRACING" == "yes" ]]; then configure_options+=("--enable-tracing-instrumentation-lttng") fi if [[ "$ALL_BUGS_ARE_FATAL" == "yes" ]]; then configure_options+=("--enable-all-bugs-are-fatal") fi if [[ "$DISABLE_DIRAUTH" == "yes" ]]; then configure_options+=("--disable-module-dirauth") fi if [[ "$DISABLE_RELAY" == "yes" ]]; then configure_options+=("--disable-module-relay") fi if [[ "$NSS" == "yes" ]]; then configure_options+=("--enable-nss") fi ############################################################################# # Tell the user about our versions of different tools and packages. Loading Loading
.gitlab-ci.yml +72 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ variables: paths: - artifacts/ # This template # This template should be usable on any system that's based on apt. .apt-template: &apt-template | export LC_ALL=C.UTF-8 echo Etc/UTC > /etc/timezone Loading @@ -54,6 +54,7 @@ variables: apt-get update -qq apt-get upgrade -qy # This template sets us up for Debian system in particular. .debian-template: &debian-template <<: *artifacts-template variables: Loading Loading @@ -88,10 +89,12 @@ variables: - 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 [ "$NSS" = yes ]; then apt-get install libnss3 libnss3-dev; 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 - if [ "$TRACING" = yes ]; then apt install liblttng-ust-dev; fi # Minmal check on debian: just make, make check. # Loading @@ -110,6 +113,7 @@ debian-hardened: image: debian:testing <<: *debian-template variables: ALL_BUGS_ARE_FATAL: "yes" HARDENING: "yes" CC: "clang" script: Loading Loading @@ -152,6 +156,73 @@ debian-integration: variables: CHECK: "no" CHUTNEY: "yes" CHUTNEY_MAKE_TARGET: "test-network-all" STEM: "yes" ALL_BUGS_ARE_FATAL: "yes" script: - ./scripts/ci/ci-driver.sh ##### # Tracing build on Debian stable. debian-tracing: image: debian:stable <<: *debian-template variables: TRACING: "yes" CHECK: "no" script: - ./scripts/ci/ci-driver.sh # Ensure that we only run tracing when it's implemented. # # Once versions before 0.4.5 are obsolete, we can remove this test. rules: # This first "if" check prevents us from running a duplicate version of # this pipeline whenever we push and create an MR. I don't understand why # it is necessary, though the following URL purports to explain: # # https://docs.gitlab.com/ee/ci/yaml/#prevent-duplicate-pipelines - if: '$CI_PIPELINE_SOURCE == "push"' exists: - src/lib/trace/trace_sys.c ##### # No-authority mode debian-disable-dirauth: image: debian:stable <<: *debian-template variables: DISABLE_DIRAUTH: "yes" script: - ./scripts/ci/ci-driver.sh ##### # No-relay mode debian-disable-relay: image: debian:stable <<: *debian-template variables: DISABLE_RELAY: "yes" script: - ./scripts/ci/ci-driver.sh # Ensure that we only run tracing when it's implemented. # # Once versions before 0.4.3 are obsolete, we can remove this test. rules: # This first "if" check prevents us from running a duplicate version of # this pipeline whenever we push and create an MR. I don't understand why # it is necessary, though the following URL purports to explain: # # https://docs.gitlab.com/ee/ci/yaml/#prevent-duplicate-pipelines - if: '$CI_PIPELINE_SOURCE == "push"' exists: - src/feature/relay/relay_stub.c ##### # NSS check on debian debian-nss: image: debian:stable <<: *debian-template variables: NSS: "yes" script: - ./scripts/ci/ci-driver.sh
changes/ticket40125 0 → 100644 +4 −0 Original line number Diff line number Diff line o Testing (onion service v2): - Fix a rendezvous cache unit test that was triggering an underflow on the global rend cache allocation. Fixes bug 40125; bugfix on 0.2.8.1-alpha.
changes/ticket40126 0 → 100644 +4 −0 Original line number Diff line number Diff line o Testing (onion service v2): - Fix another rendezvous cache unit test that was triggering an underflow on the global rend cache allocation. Fixes bug 40126; bugfix on 0.2.8.1-alpha.
changes/ticket40135 0 → 100644 +3 −0 Original line number Diff line number Diff line o Minor bugfix (logging): - Remove a debug logging statement that uselessly spam the logs. Fixes bug 40135; bugfix on 0.3.5.0-alpha.
scripts/ci/ci-driver.sh +25 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ COVERAGE="${COVERAGE:-no}" RUST="${RUST:-no}" DOXYGEN="${DOXYGEN:-no}" ASCIIDOC="${ASCIIDOC:-no}" TRACING="${TRACING:-no}" ALL_BUGS_ARE_FATAL="${ALL_BUGS_ARE_FATAL:-no}" DISABLE_DIRAUTH="${DISABLE_DIRAUTH:-no}" DISABLE_RELAY="${DISABLE_RELAY:-no}" NSS="${NSS:-no}" # Options for which tests to run. All should be yes/no. CHECK="${CHECK:-yes}" Loading Loading @@ -191,6 +196,11 @@ yes_or_no COVERAGE yes_or_no RUST yes_or_no DOXYGEN yes_or_no ASCIIDOC yes_or_no TRACING yes_or_no ALL_BUGS_ARE_FATAL yes_or_no DISABLE_DIRAUTH yes_or_no DISABLE_RELAY yes_or_no NSS yes_or_no RUN_STAGE_CONFIGURE yes_or_no RUN_STAGE_BUILD Loading Loading @@ -241,6 +251,21 @@ fi if [[ "$ASCIIDOC" != "yes" ]]; then configure_options+=("--disable-asciidoc") fi if [[ "$TRACING" == "yes" ]]; then configure_options+=("--enable-tracing-instrumentation-lttng") fi if [[ "$ALL_BUGS_ARE_FATAL" == "yes" ]]; then configure_options+=("--enable-all-bugs-are-fatal") fi if [[ "$DISABLE_DIRAUTH" == "yes" ]]; then configure_options+=("--disable-module-dirauth") fi if [[ "$DISABLE_RELAY" == "yes" ]]; then configure_options+=("--disable-module-relay") fi if [[ "$NSS" == "yes" ]]; then configure_options+=("--enable-nss") fi ############################################################################# # Tell the user about our versions of different tools and packages. Loading