Commit 679ba1a2 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge branch 'maint-0.4.4'

parents e411360f 1cce0588
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ 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.
@@ -112,6 +113,7 @@ debian-hardened:
  image: debian:testing
  <<: *debian-template
  variables:
    ALL_BUGS_ARE_FATAL: "yes"
    HARDENING: "yes"
    CC: "clang"
  script:
@@ -154,7 +156,9 @@ 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

@@ -180,3 +184,45 @@ debian-tracing:
    - 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
+20 −0
Original line number Diff line number Diff line
@@ -34,6 +34,10 @@ 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}"
@@ -193,6 +197,10 @@ 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
@@ -246,6 +254,18 @@ 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.