Loading .gitlab-ci.yml +46 −0 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -112,6 +113,7 @@ debian-hardened: image: debian:testing <<: *debian-template variables: ALL_BUGS_ARE_FATAL: "yes" HARDENING: "yes" CC: "clang" script: Loading Loading @@ -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 Loading @@ -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 scripts/ci/ci-driver.sh +20 −0 Original line number Diff line number Diff line Loading @@ -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}" Loading Loading @@ -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 Loading Loading @@ -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. Loading Loading
.gitlab-ci.yml +46 −0 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -112,6 +113,7 @@ debian-hardened: image: debian:testing <<: *debian-template variables: ALL_BUGS_ARE_FATAL: "yes" HARDENING: "yes" CC: "clang" script: Loading Loading @@ -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 Loading @@ -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
scripts/ci/ci-driver.sh +20 −0 Original line number Diff line number Diff line Loading @@ -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}" Loading Loading @@ -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 Loading Loading @@ -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. Loading