From 8f89fb8f398c365588d456625c77cdaee97c77bd Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 23 Aug 2018 17:00:42 +1000 Subject: [PATCH 1/6] Travis: skip gcc on OSX, because the default compiler is clang Part of #27252. --- .travis.yml | 3 +++ changes/ticket27252 | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 changes/ticket27252 diff --git a/.travis.yml b/.travis.yml index 8b8621007e..102b500308 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,6 +58,9 @@ matrix: ## We also exclude non-containerized gcc, because they're slow and redundant. - compiler: gcc sudo: required + ## And skip gcc on OSX, because the default compiler is clang + - compiler: gcc + os: osx ## We don't need sudo. (The "apt:" stanza after this allows us to not need ## sudo; otherwise, we would need it for getting dependencies.) diff --git a/changes/ticket27252 b/changes/ticket27252 new file mode 100644 index 0000000000..f0855db1d4 --- /dev/null +++ b/changes/ticket27252 @@ -0,0 +1,3 @@ + o Minor features (continuous integration): + - Skip gcc on OSX in Travis CI, it's rarely used. + Implements ticket 27252. From 7ec84cc0942af27136d27e6a9085e02b07c61da1 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 23 Aug 2018 17:06:53 +1000 Subject: [PATCH 2/6] Travis: Skip a duplicate hardening-off build in Tor 0.2.9 Part of 27252. --- .travis.yml | 3 ++- changes/ticket27252 | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 102b500308..74a248fda6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,7 +36,8 @@ matrix: - env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS="" ## We only want to check these build option combinations once ## (they shouldn't vary by compiler or OS) - - env: HARDENING_OPTIONS="" + ## We run coverage with hardening off, which seems like enough + # - env: HARDENING_OPTIONS="" ## We check asciidoc with distcheck, to make sure we remove doc products - env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" diff --git a/changes/ticket27252 b/changes/ticket27252 index f0855db1d4..2ee4c8217f 100644 --- a/changes/ticket27252 +++ b/changes/ticket27252 @@ -1,3 +1,4 @@ o Minor features (continuous integration): - Skip gcc on OSX in Travis CI, it's rarely used. + Skip a duplicate hardening-off build in Travis on Tor 0.2.9. Implements ticket 27252. From 9f81e03262ef3ba6491eaf14a93ec9c6e7bf5b45 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 23 Aug 2018 18:12:36 +1000 Subject: [PATCH 3/6] Travis: make the exclude descriptions shorter Part of 27252. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 74a248fda6..68534604ab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,10 +56,10 @@ matrix: ## Clang doesn't work in containerized builds, see below. - compiler: clang sudo: false - ## We also exclude non-containerized gcc, because they're slow and redundant. + ## Non-containerized gcc are slow and redundant. - compiler: gcc sudo: required - ## And skip gcc on OSX, because the default compiler is clang + ## gcc on OSX is less useful, because the default compiler is clang. - compiler: gcc os: osx From 7cea5a287fbf0ed1b9ed92e144ff450c4f93f382 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 23 Aug 2018 18:13:53 +1000 Subject: [PATCH 4/6] Travis: Skip gcc on Linux with default settings It's redundant, because all the non-default builds use gcc on Linux. Part of 27252. --- .travis.yml | 5 +++++ changes/ticket27252 | 2 ++ 2 files changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 68534604ab..1e7e2fe2f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,6 +62,11 @@ matrix: ## gcc on OSX is less useful, because the default compiler is clang. - compiler: gcc os: osx + ## gcc on Linux with no env is redundant, because all the custom builds use + ## gcc on Linux + - compiler: gcc + os: linux + env: ## We don't need sudo. (The "apt:" stanza after this allows us to not need ## sudo; otherwise, we would need it for getting dependencies.) diff --git a/changes/ticket27252 b/changes/ticket27252 index 2ee4c8217f..410ddef8c0 100644 --- a/changes/ticket27252 +++ b/changes/ticket27252 @@ -1,4 +1,6 @@ o Minor features (continuous integration): - Skip gcc on OSX in Travis CI, it's rarely used. Skip a duplicate hardening-off build in Travis on Tor 0.2.9. + Skip gcc on Linux with default settings, because all the non-default + builds use gcc on Linux. Implements ticket 27252. From b61d40c8a24ccbd5a08038f9d4d2d38cf987c400 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 23 Aug 2018 17:23:38 +1000 Subject: [PATCH 5/6] Travis: Only run one online rust build, to reduce network errors Part of 27252. --- .travis.yml | 6 +++--- changes/ticket27252-032 | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 changes/ticket27252-032 diff --git a/.travis.yml b/.travis.yml index 74b9d98dad..578a671d9f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,7 +37,7 @@ env: ## and it's going to take a while for them to be fixed. See: ## https:/trac.torproject.org/projects/tor/ticket/25386 ## https:/trac.torproject.org/projects/tor/ticket/26398 - - RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" HARDENING_OPTIONS="" + - RUST_OPTIONS="--enable-rust" RUST_DEPENDENCIES=true HARDENING_OPTIONS="" matrix: ## include creates builds with gcc, linux, sudo: false @@ -50,10 +50,10 @@ matrix: # - env: HARDENING_OPTIONS="" ## We check asciidoc with distcheck, to make sure we remove doc products - env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" - ## Check rust offline without hardening (see above), or distcheck + ## Check rust online without hardening (see above), and without distcheck ## Distcheck doesn't work with rust in 0.3.2 ## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2 - - env: RUST_OPTIONS="--enable-rust" RUST_DEPENDENCIES=true HARDENING_OPTIONS="" + - env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" HARDENING_OPTIONS="" ## Uncomment to allow the build to report success (with non-required ## sub-builds continuing to run) if all required sub-builds have diff --git a/changes/ticket27252-032 b/changes/ticket27252-032 new file mode 100644 index 0000000000..5761f04d69 --- /dev/null +++ b/changes/ticket27252-032 @@ -0,0 +1,3 @@ + o Minor features (continuous integration): + - Only run one online rust build in Travis, to reduce network errors. + Implements ticket 27252. From 92f1a8af836933a3488e32bb03f859d5548883d7 Mon Sep 17 00:00:00 2001 From: teor Date: Thu, 23 Aug 2018 17:24:38 +1000 Subject: [PATCH 6/6] Travis: Skip offline rust builds for Linux gcc We already do an online rust build for Linux gcc. Part of 27252. --- .travis.yml | 6 ++++++ changes/ticket27252-032 | 2 ++ 2 files changed, 8 insertions(+) diff --git a/.travis.yml b/.travis.yml index 578a671d9f..bbf0b575bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -81,6 +81,12 @@ matrix: - compiler: gcc os: linux env: + ## offline rust builds for gcc on Linux are redundant, because we do an + ## online rust build for gcc on Linux + - compiler: gcc + os: linux + ## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2 + env: RUST_OPTIONS="--enable-rust" RUST_DEPENDENCIES=true HARDENING_OPTIONS="" ## We don't need sudo. (The "apt:" stanza after this allows us to not need ## sudo; otherwise, we would need it for getting dependencies.) diff --git a/changes/ticket27252-032 b/changes/ticket27252-032 index 5761f04d69..4752aedcf6 100644 --- a/changes/ticket27252-032 +++ b/changes/ticket27252-032 @@ -1,3 +1,5 @@ o Minor features (continuous integration): - Only run one online rust build in Travis, to reduce network errors. + Skip offline rust builds on Travis for Linux gcc, because they're + redundant. Implements ticket 27252.