52 Commits

Author SHA1 Message Date
Edward Thomson
44f8213480 ci: provide more information about OS
Subtle changes in the host OS can have impacts in the CI system that
may be hard to debug.  We previously showed the results of `uname` which
can be difficult to interpret.  Provide more information where
available.
2019-02-13 11:18:35 +00:00
Edward Thomson
0cf5b6b17d ci: ignore coverity failures in nightly runs
Coverity is back but it's only read-only!  Agh.  Just allow it to fail
and not impact the overall job run.
2019-01-28 12:33:31 +00:00
Edward Thomson
c9d9e25fb1 ci: update poxyproxy, run in quiet mode
Update the proxy so that we can enable a quiet mode.
2019-01-20 17:35:50 +00:00
Edward Thomson
e2b9f56878 ci: run all invasive tests on windows 2019-01-19 01:16:45 +00:00
Edward Thomson
1ebf3a7dec ci: only run invasive tests during nightly runs 2019-01-19 01:16:45 +00:00
Edward Thomson
6b8a648f6f ci: clear settings variables in powershell 2019-01-19 00:38:00 +00:00
Etienne Samson
1b4ba8443f ci: enable some of the invasive testcases 2019-01-11 11:53:54 +01:00
Edward Thomson
de60d9b4c6 tests: PROXY_URL is more accurately PROXY_HOST
Change the `GITTEST_REMOTE_PROXY_URL` environment variable to be
`GITTEST_REMOTE_PROXY_HOST`, since it is a host:port combination, not an
actual URL.  (We cannot use a URL here since we may want to include the
username:password combination in the constructed URL.)
2018-11-28 15:10:02 +00:00
Edward Thomson
b5ae83bfac Merge pull request #4860 from tiennou/ci/macos-leaks
CI: Fix macOS leak detection
2018-10-31 08:47:10 +00:00
Etienne Samson
8c49b3bf26 tests: use CLAR_AT_EXIT to check for leaks on macOS 2018-10-30 22:32:57 +01:00
Etienne Samson
0e69485efd clar: provide a way to run some shell before exiting 2018-10-30 22:32:23 +01:00
Edward Thomson
f22521efe2 ci: fail if requested test name is not found (unix)
POSIX: the CMakeLists.txt configures the test names; when we query
ctest for the test command-line to run, fail if the tests are not
found.
2018-10-26 14:40:09 +01:00
Edward Thomson
05c51bb6ea ci: fail if requested test name is not found (win32)
Win32: The CMakeLists.txt configures the test names; when we query
ctest for the test command-line to run, fail if the tests are not
found.
2018-10-26 14:40:01 +01:00
Edward Thomson
0e26717a57 ci: fail on test failures
PowerShell can _read_ top-level variables in functions, but cannot _update_
top-level variables in functions unless they're explicitly prefixed with
`$global`.
2018-10-25 14:26:28 -07:00
Etienne Samson
fa274f7f08 ci: redirect the malloc debugging output to /dev/null 2018-10-23 22:34:45 +02:00
Edward Thomson
f195395ab1 ci: bind specifically to localhost for proxy
Bind the proxy specifically to 127.0.0.1 instead of all addresses.  This
is not strictly necessary for operations, but having a potentially open
proxy on a network is not a good idea.
2018-10-21 10:37:26 +01:00
Edward Thomson
4ec597dcac ci: move configuration yaml to its own directory
As the number of each grow, separate the CI build scripts from
the YAML definitions.
2018-10-21 09:44:36 +01:00
Etienne Samson
6a67e42da7 ci: use Ninja on macOS 2018-10-19 19:10:01 +02:00
Edward Thomson
1621a37dd1 Merge pull request #4812 from libgit2/ethomson/ci-refactor
CI: refactoring
2018-09-29 13:22:59 -04:00
Edward Thomson
429c7f1141 ci: don't stop on failure
Don't stop on test failures; run all the tests, even when a test fails.
2018-09-29 18:11:37 +01:00
Edward Thomson
7c9769d947 ci: append -r flag to clar on windows
Similar to the way we parse the ctest output on POSIX systems, do the
same on Windows.  This allows us to append the `-r` flag to clar after
we've identified the command to run.
2018-09-29 18:11:34 +01:00
Edward Thomson
d7d0139eb3 ci: rename vsts to azure-pipelines 2018-09-18 13:47:49 +10:00
Edward Thomson
a8301b0c19 ci: add SKIP_*_TESTS for windows builds
Introduce SKIP_*_TEST variables for Windows builds to match POSIX
builds.
2018-09-17 20:04:47 -07:00
Edward Thomson
fff33a1b65 ci: write test result XML
Add the clar flags to produce JUnit-style XML output before invocation.
2018-09-11 22:38:50 +01:00
Edward Thomson
943181c2ef Revert "clar: introduce CLAR_XML option"
This reverts commit a2d73f5643.
Using clar to propagate the XML settings was a mistake.
2018-09-10 15:03:23 +01:00
Edward Thomson
7e353b7a14 ci: only run the exact named test
Our CI test system invokes ctest with the name of the given tests it
wishes to invoke.  ctest (with the `-R` flag) treats this name as a
regular expression.  Provide anchors in the regular expression to avoid
matching additional tests in this search.
2018-09-10 12:27:24 +01:00
Edward Thomson
6b2d8f09bc ci: use templates for VSTS builds
Our build YAML is becoming unweildly and full of copy-pasta.  Simplify
with templates.
2018-09-06 11:18:59 +01:00
Edward Thomson
f3f2c45ee6 ci: escape xml output path on Windows
CMake treats backslashes as escape characters; use forward slashes for
the XML output path.
2018-09-06 11:18:59 +01:00
Edward Thomson
a84863fc8d ci: write xml during test runs 2018-09-06 11:18:59 +01:00
Etienne Samson
351ca66126 ci: Correct the status code check so Coverity doesn't force-fail Travis
Otherwise you get something like

Emitted 525 C/C++ compilation units (100%) successfully

525 C/C++ compilation units (100%) are ready for analysis
The cov-build utility completed successfully.
Build successfully submitted.
Received error code 200 from Coverity

travis_time:end:14cf6373:start=1534254309066933889,finish=1534254728190974302,duration=419124040413
The command "if [ -n "$COVERITY" ]; then ../ci/coverity.sh; fi" exited with 1.
travis_time:start:01ed61d4
$ if [ -z "$COVERITY" ]; then ../ci/build.sh && ../ci/test.sh; fi

travis_time:end:01ed61d4:start=1534254728197560961,finish=1534254728202711214,duration=5150253
The command "if [ -z "$COVERITY" ]; then ../ci/build.sh && ../ci/test.sh; fi" exited with 0.

Done. Your build exited with 1.
2018-08-14 21:26:14 +02:00
Patrick Steinhardt
9008465719 ci: enable compilation with "-Werror"
During the conversion of our CI scripts in bf418f09c (ci: refactor unix
ci build/test scripts, 2018-07-14), we accidentally dropped the
"-DENABLE_WERROR=ON" switch in our cmake invocation. Re-add it to help
us catch compiler warnings early.
2018-08-06 12:04:50 +02:00
Patrick Steinhardt
835d604320 ci: fix location of fuzzer corpora on VSTS
When using VSTS-based builds, we are in a different location than when
doing Travis builds. Due to this, the relative path to our fuzzer
corpora does not work on VSTS. Fix it by using `${SOURCE_DIR}` instead.
2018-08-03 10:01:59 +02:00
Patrick Steinhardt
59328ed84e fuzzers: rename "fuzz" directory to match our style
Our layout uses names like "examples" or "tests" which is why the "fuzz"
directory doesn't really fit in here. Rename the directory to be called
"fuzzers" instead. Furthermore, we rename the fuzzer "fuzz_packfile_raw"
to "packfile_raw_fuzzer", which is also in line with the already
existing fuzzer at google/oss-fuzz.

While at it, rename the "packfile_raw" fuzzer to instead just be called
"packfile" fuzzer.
2018-08-03 09:50:35 +02:00
lhchavez
60e610a236 fuzzers: add build support and instructions
This change adds support for building a fuzz target for exercising the
packfile parser, as well as documentation. It also runs the fuzzers in
Travis to avoid regressions.
2018-08-03 09:48:15 +02:00
Edward Thomson
6b92368c85 ci: run coverity from travis's cron
Instead of trying to run coverity builds during the regular PR process,
run them during a regularly scheduled cron process.  These only need to
run nightly, so it makes sense to bring them out of the PR process.
2018-07-29 17:26:21 +01:00
Edward Thomson
24b8dd8275 ci: move travis to the new scripts 2018-07-28 23:54:46 +01:00
Edward Thomson
f7bb4ff80b ci: use a single setup script for mingw 2018-07-26 15:35:41 +01:00
Edward Thomson
dc6e80e2ce ci: perform clang builds on Linux 2018-07-26 15:35:39 +01:00
Edward Thomson
6eb97b6ba9 ci: dissociate test from leaks process
The leaks process is not good about handling children.  Ensure that its
child is `nohup`ed so that the grandparent shell won't wait for it to
exit.
2018-07-26 15:34:53 +01:00
Edward Thomson
230eeda8e4 ci: some additional debugging 2018-07-26 15:34:53 +01:00
Edward Thomson
b00672b9e4 ci: enable leak checking on osx 2018-07-26 15:34:53 +01:00
Edward Thomson
afecd15cf6 ci: msvc leak-checking 2018-07-26 15:34:53 +01:00
Edward Thomson
7f12c12394 ci: xcode leaks leak-checking 2018-07-26 15:34:53 +01:00
Edward Thomson
6d6700d238 ci: valgrind leak-checking 2018-07-26 15:34:53 +01:00
Edward Thomson
67f5304f55 ci: introduce vsts builds 2018-07-26 15:34:47 +01:00
Edward Thomson
9e588060d9 ci: scripts to setup mingw build environment 2018-07-26 14:07:21 +01:00
Edward Thomson
8734240417 ci: set up a macos host
Script to set up dependencies on a macOS build system.
2018-07-26 14:07:17 +01:00
Edward Thomson
5bb2087b7c ci: setup a linux host
Sets up a linux host to prepare for a build.
2018-07-26 14:07:00 +01:00
Edward Thomson
451b001725 ci: improved flexibility for citest.sh
Refactor citest.sh to enable local testing by developers.
2018-07-26 14:07:00 +01:00
Edward Thomson
bf418f09ce ci: refactor unix ci build/test scripts 2018-07-26 14:07:00 +01:00