aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-04-06 09:30:04 +1000
committerteor <teor@torproject.org>2019-04-06 09:30:04 +1000
commit102178e6d43ed990e972b2fbc4f611997c8943f0 (patch)
tree12458d1076106a5f0523bc082b05fcd73414d884
parent3cfcfbac46d15f7d1cc47da03482aa70583aa455 (diff)
parenta514e024769083908a35f28ac0df5f2e7b1137b8 (diff)
downloadtor-102178e6d43ed990e972b2fbc4f611997c8943f0.tar.gz
tor-102178e6d43ed990e972b2fbc4f611997c8943f0.zip
Merge remote-tracking branch 'tor-github/pr/878' into maint-0.3.4
-rw-r--r--.travis.yml15
-rw-r--r--Makefile.am4
-rw-r--r--changes/bug290365
-rw-r--r--changes/ticket299623
4 files changed, 22 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index 56d7dc0737..ed805aac31 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,8 +5,10 @@ cache:
## cargo: true
directories:
- $HOME/.cargo
+ ## caching CARGO_TARGET_DIR actually slows down the build over time,
+ ## because old build products are never deleted.
## where we point CARGO_TARGET_DIR in all our cargo invocations
- - $TRAVIS_BUILD_DIR/src/rust/target
+ #- $TRAVIS_BUILD_DIR/src/rust/target
compiler:
- gcc
@@ -201,6 +203,8 @@ script:
## We run `make check` because that's what https://jenkins.torproject.org does.
- if [[ "$DISTCHECK" == "" ]]; then make check; fi
- if [[ "$DISTCHECK" != "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi
+ ## If this build was one that produced coverage, upload it.
+ - if [[ "$COVERAGE_OPTIONS" != "" ]]; then coveralls -b . --exclude src/test --exclude src/trunnel --gcov-options '\-p' || echo "Coverage failed"; fi
after_failure:
## configure will leave a log file with more details of config failures.
@@ -211,9 +215,12 @@ after_failure:
## `make distcheck` puts it somewhere different.
- if [[ "$DISTCHECK" != "" ]]; then make show-distdir-testlog || echo "make failed"; fi
-after_success:
- ## If this build was one that produced coverage, upload it.
- - if [[ "$COVERAGE_OPTIONS" != "" ]]; then coveralls -b . --exclude src/test --exclude src/trunnel --gcov-options '\-p'; fi
+before_cache:
+ ## Delete all gcov files.
+ - if [[ "$COVERAGE_OPTIONS" != "" ]]; then make reset-gcov; fi
+ ## Delete the cargo registry before caching .cargo, because it's cheaper to
+ ## download the registry and throw it away, rather than caching it
+ - rm -rf $HOME/.cargo/registry
notifications:
irc:
diff --git a/Makefile.am b/Makefile.am
index c58140ae74..191620c062 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -170,8 +170,10 @@ test-full: need-stem-path need-chutney-path check test-network test-stem
test-full-online: need-stem-path need-chutney-path check test-network test-stem-full
+# We can't delete the gcno files, because they are created when tor is compiled
reset-gcov:
- rm -f $(top_builddir)/src/*/*.gcda $(top_builddir)/src/*/*/*.gcda
+ rm -f $(top_builddir)/src/*/*.gcda $(top_builddir)/src/*/*/*.gcda \
+ $(top_builddir)/src/*/*.gcov $(top_builddir)/src/*/*/*.gcov
HTML_COVER_DIR=$(top_builddir)/coverage_html
coverage-html: all
diff --git a/changes/bug29036 b/changes/bug29036
new file mode 100644
index 0000000000..8b96c5c8fa
--- /dev/null
+++ b/changes/bug29036
@@ -0,0 +1,5 @@
+ o Minor bugfix (continuous integration):
+ - Reset coverage state on disk after Travis CI has finished. This is being
+ done to prevent future gcda file merge errors which causes the test suite
+ for the process subsystem to fail. The process subsystem was introduced
+ in 0.4.0.1-alpha. Fixes bug 29036; bugfix on 0.2.9.15.
diff --git a/changes/ticket29962 b/changes/ticket29962
new file mode 100644
index 0000000000..e36cc0cf9a
--- /dev/null
+++ b/changes/ticket29962
@@ -0,0 +1,3 @@
+ o Minor features (continuous integration):
+ - On Travis Rust builds, cleanup Rust registry and refrain from caching
+ target/ directory to speed up builds. Resolves issue 29962.