- 03 Jan, 2018 3 commits
-
-
Some tests shall be run against our own SSH server we spin up in Travis. As those need to be run separate from our previous tests which run against git-daemon, we have to do this in a separate step. Instead of bundling all that knowledge in the CI script, move it into the test build instructions by creating a new test target.
Patrick Steinhardt committed -
Right now, we test our credential callback code twice, once via SSH on localhost and once via a non-existent GitHub repository. While the first URL makes sense to be configurable, it does not make sense to hard-code the non-existing repository, which requires us to call tests multiple times. Instead, we can just inline the URL into another set of tests.
Patrick Steinhardt committed -
We support two types of passing credentials to the proxy, either via the URL or explicitly by specifying user and password. We test these types by modifying the proxy URL and executing the tests twice, which is in fact unnecessary and requires us to maintain the list of environment variables and test executions across multiple CI infrastructures. To fix the situation, we can just always pass the host, port, user and password to the tests. The tests can then assemble the complete URL either with or without included credentials, allowing us to test both cases in-process.
Patrick Steinhardt committed
-
- 06 Nov, 2017 1 commit
-
-
By default, CMake will not build our examples directory. As we do not instruct either the MinGW or MSVC builds on AppVeyor to enable building these examples, we cannot verify that those examples at least build on Windows systems. Fix that by passing `-DBUILD_EXAMPLES=ON` to AppVeyor's CMake invocation.
Patrick Steinhardt committed
-
- 31 Oct, 2017 2 commits
-
-
Carlos Martín Nieto committed
-
The macOS tests are by far the slowest right now. This attempts to remedy the situation somewhat by asking clar to put its test data on a ramdisk.
Carlos Martín Nieto committed
-
- 06 Oct, 2017 1 commit
-
-
Move back to Travis's VM infrastructure for efficiency.
Edward Thomson committed
-
- 28 Sep, 2017 1 commit
-
-
The block in the script installs the packages if we're _not_ on Precise. This was dropped in c17c3f8a ("travis: drop support for Ubuntu Precise") in error.
Carlos Martín Nieto committed
-
- 20 Sep, 2017 1 commit
-
-
Ubuntu Precise is end of life since April 2017. At that point in time, Precise was still the main distro on which Travis CI built upon, with the Trusty-based images still being in a beta state. But since June 21st, Trusty has officially moved out of beta and is now the default image for all new builds. Right now, we build on both old and new images to assure we support both. Unfortunately, this leaves us with the highest minimum version for CMake being 2.8.7, as Precise has no greater version in its repositories. And because of this limitation, we cannot actually use object libraries in our build instructions. But considering Precise is end of life and Trusty is now the new default for Travis, we can and should drop support for this old and unmaintained distribution. And so we do.
Patrick Steinhardt committed
-
- 24 Jul, 2017 3 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
Ubuntu trusty has a bug in curl when using NTLM credentials in a proxy, dereferencing a null pointer and causing segmentation faults. Use a custom-patched version of libcurl that avoids this issue.
Edward Thomson committed
-
- 21 Jun, 2017 1 commit
-
-
Some tests of ours require to be running against an SSH server. Currently, we simply run against the SSH server provided and started by Travis itself. As our Linux tests run in a sudo-less environment, we have no control over its configuration and startup/shutdown procedure. While this has been no problem until now, it will become a problem as soon as we migrate over to newer Precise images, as the SSH server does not have any host keys set up. Luckily, we can simply set up our own unpriviledged SSH server. This has the benefit of us being able to modify its configuration even in a sudo-less environment. This commit sets up the unpriviledged SSH server on port 2222.
Patrick Steinhardt committed
-
- 13 Jun, 2017 1 commit
-
-
The formulae provided by the homebrew/dupes tap are deprecated since at least April 4, 2017, with formulae having been migrated to homebrew/core. Replace the deprecated reference to "homebrew/dupes/zlib" with only "zlib".
Patrick Steinhardt committed
-
- 12 Jun, 2017 1 commit
-
-
Edward Thomson committed
-
- 24 Feb, 2017 1 commit
-
-
Download mingw-w64 into our build directory and execute it there, don't try to overwrite the system's mingw.
Edward Thomson committed
-
- 31 Oct, 2016 1 commit
-
-
When running a Coverity build, we have to provide an authentication token in order to proof that we are actually allowed to run analysis in the name of a certain project. As this token should be secret, it is only set on the main repository, so when we were requested to run the Coverity script on another repository we do error out. But in fact we do also error out if the Coverity analysis should _not_ be run if there is no authentication token provided. Fix the issue by only checking for the authentication token after determining if analysis is indeed requested.
Patrick Steinhardt committed
-
- 28 Oct, 2016 2 commits
-
-
We used to only execute Coverity analysis on the 'development' branch before commit 998f0016 (Refine build limitation, 2014-01-15), which refined Coverity build limitations. While we do not really use the 'development' branch anymore, it does still make sense to only analyze a single branch, as otherwise Coverity might get confused. Re-establish the restriction such that we only analyze libgit2's 'master' branch. Also fix the message announcing why we do not actually analyze a certain build.
Patrick Steinhardt committed -
Patrick Steinhardt committed
-
- 10 Oct, 2016 1 commit
-
-
Patrick Steinhardt committed
-
- 05 Oct, 2016 2 commits
-
-
The Mac machines have updated their SSH version and so the ssh-keygen format has changed. Ask it for MD5, which is the one that is output as hex.
Carlos Martín Nieto committed -
This lets us see the details of what we're doing instead of just seeing the output of unknown commands in the build output.
Carlos Martín Nieto committed
-
- 24 Jul, 2016 1 commit
-
-
Edward Thomson committed
-
- 23 Jul, 2016 1 commit
-
-
Edward Thomson committed
-
- 07 Jun, 2016 2 commits
-
-
The `git_buf` structure seems to be too complicated to correctly grasp for Coverity. As such, add simpler models trying to guide Coverity and remove false positives related to these functions.
Patrick Steinhardt committed -
The static analysis engine coverity allows for user models overriding how it treats functions when analyzing code. Like this, one can greatly reduce the rate of false positives and thus make it easier to spot actual errors. Add a user model that overrides function models for `git_buf_len` and `git_vector_insert`, which together amount for a majority of false positives.
Patrick Steinhardt committed
-
- 19 Apr, 2016 2 commits
-
-
It takes a bit for the propxy to get ready to accept connections, so start it before the build so we can be reasonably sure that it's going to be ready in time.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
- 14 Mar, 2016 1 commit
-
-
The tests have never run successfully and we do have successful builds of mingw-w64, so remove these CI builds which do not add value.
Carlos Martín Nieto committed
-
- 11 Mar, 2016 1 commit
-
-
Curl by default does not report errors by setting the error code. As the upload can fail through several conditions (e.g. the rate limit, leading to unauthorized access) we should indicate this information in Travis CI. To improve upon the behavior, use `--write-out=%{http_code}` to write out the HTTP code in addition to the received body and return an error if the code does not equal 201.
Patrick Steinhardt committed
-
- 03 Mar, 2016 2 commits
-
-
Carlos Martín Nieto committed
-
We were missing this test on Windows, which meant we didn't notice that we never fixed the single authentication attempt it tries, nor its wrong return code. Enable this for the unix platforms as well over HTTP. We previously were doing it locally but disabled it on OS X due to issues with its sshd not accepting password authentication.
Carlos Martín Nieto committed
-
- 23 Feb, 2016 2 commits
-
-
We commonly have to check if a git_buf has been allocated correctly or if we ran out of memory. Introduce a new macro similar to `GITERR_CHECK_ALLOC` which checks if we ran OOM and if so returns an error. Provide a `#nodef` for Coverity to mark the error case as an abort path.
Patrick Steinhardt committed -
Coverity does not comprehend the connection between a vector's size and the contents pointer, that is that the vector's pointer is non-NULL when its size is positive. As the vector code should be reasonably well tested and users are expected to not manually modify a vector's contents it seems save to assume that the macros will never dereference a NULL pointer. Fix Coverity warnings by overriding the foreach macros with macros that explicitly aborting when (v)->contents is NULL.
Patrick Steinhardt committed
-
- 18 Feb, 2016 2 commits
-
-
When checking if a string is prefixed by a drive letter (e.g. "C:") we verify this by inspecting the first and second character of the string. Coverity thinks this is a defect as we do not check the string's length first, but in fact we only check the second character if the first character is part of the alphabet, that is it cannot be '\0'. Fix this by overriding the macro and explicitly checking the string's length.
Patrick Steinhardt committed -
Add nodefs for macros that abort the current flow due to errors. This includes macros that trigger on integer overflows and for the version check macro. This aids Coverity as we point out that these paths will cause a fatal error.
Patrick Steinhardt committed
-
- 10 Feb, 2016 2 commits
-
-
When posting our instrumented build results to Coverity we have to include sensitive information, in particular our authorization token. Currently we use an unencrypted channel to post this information, leading to the token being transferred in plain. Fix this by using a secured connection instead.
Patrick Steinhardt committed -
Coverity currently lists a lot of errors with regard to GITERR_CHECK_ALLOC causing resource leaks. We know this macro is only invoked when we want to abort because we are out of memory. Coverity allows for overriding the default model where we know that certain functions guarantee a desired behavior. The user_nodefs.h is used to override the behavior of macros. Re-define GITERR_CHECK_ALLOC inside of it to specify its abort nature.
Patrick Steinhardt committed
-
- 06 Jul, 2015 2 commits
-
-
Homebrew will error out because it's already installed.
Carlos Martín Nieto committed -
We need to make sure we are asking for the current version of packages, or we might get 404s from the download service.
Carlos Martín Nieto committed
-