Bläddra i källkod

Merge branch 'tor-github/pr/879' into maint-0.4.0

George Kadianakis 5 år sedan
förälder
incheckning
7fe169a500
4 ändrade filer med 22 tillägg och 5 borttagningar
  1. 11 4
      .travis.yml
  2. 3 1
      Makefile.am
  3. 5 0
      changes/bug29036
  4. 3 0
      changes/ticket29962

+ 11 - 4
.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
@@ -209,6 +211,8 @@ script:
   - if [[ "$DISTCHECK" == "" && "$TEST_STEM" == "" ]]; then make check; fi
   - if [[ "$TEST_STEM" != "" ]]; then make src/app/tor test-stem; fi
   - if [[ "$DISTCHECK" != "" && "$TEST_STEM" == "" ]]; 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.
@@ -220,9 +224,12 @@ after_failure:
   - if [[ "$DISTCHECK" != "" ]]; then make show-distdir-testlog || echo "make failed"; fi
   - if [[ "$DISTCHECK" != "" ]]; then make show-distdir-core || 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:

+ 3 - 1
Makefile.am

@@ -295,8 +295,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

+ 5 - 0
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.

+ 3 - 0
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.