summaryrefslogtreecommitdiff
path: root/ci
Commit message (Collapse)AuthorAgeFilesLines
* streams: sockets are non-blocking and can timeoutEdward Thomson2023-05-131-0/+4
| | | | | | | | | | | | | | | Make socket I/O non-blocking and add optional timeouts. Users may now set `GIT_OPT_SET_SERVER_CONNECT_TIMEOUT` to set a shorter connection timeout. (The connect timeout cannot be longer than the operating system default.) Users may also now configure the socket read and write timeouts with `GIT_OPT_SET_SERVER_TIMEOUT`. By default, connects still timeout based on the operating system defaults (typically 75 seconds) and socket read and writes block. Add a test against our custom testing git server that ensures that we can timeout reads against a slow server.
* ci: update to poxygit v0.6.0Edward Thomson2023-05-131-1/+1
| | | | | v0.6.0 of poxygit add support for throttling connections to test timeouts and low-bandwidth situations.
* Merge pull request #6456 from libgit2/ethomson/sha256_experimentalEdward Thomson2023-02-142-2/+33
|\ | | | | SHA256: more SHA256 support
| * ci: build our own git on xenialEdward Thomson2023-02-131-2/+14
| | | | | | | | The git included with xenial is ancient, and lacks sha256 support.
| * clone: support sha256Edward Thomson2023-02-121-0/+19
| |
* | ci: convert PATH correctly to Cygwin format on Windowsethomson/sysdir_testEdward Thomson2023-02-092-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We provide `BUILD_PATH` to our build script; provide it and mutate `PATH` when running our tests as well. We were previously using `cygpath` to try to convert a _list_ of Windows paths into cygwin / Unix style `PATH` format. This does not work -- it treats the path list as a single path (with semicolons -- understandably as those are allowed characters in a Windows path). For example, `C:\One;C:\Two;C:\Three` is converted to `/c/one;c:/two;c:/three`. Add a new function to convert path lists, so that paths are split by semicolon and fed to `cygpath` independently, then re-joined with a colon. This means that our example `C:\One;C:\Two;C:\Three` is correctly converted to `/c/one:/c/two:/c/three`.
* | ci: limit test runner to build pathEdward Thomson2023-02-091-2/+20
| | | | | | | | | | We provide `BUILD_PATH` to our build script; provide it and mutate `PATH` when running our tests as well.
* | ci: compile against libssh2 on windowsEdward Thomson2023-02-091-0/+27
| |
* | ci: use latest ci-dependencies release for mingwEdward Thomson2023-02-091-2/+2
| |
* | ci: isolate the home directory for test executionEdward Thomson2023-02-091-1/+3
|/ | | | | | | libgit2 can now isolate its home directory, and our test runner (by default) isolates the home directory. In our CI environment, we want to set up some pieces (like ssh configuration) in a fake homedir. Continue to do so and propagate that to clar.
* tests: append the github.com ssh keys so we have access during testsCarlos Martín Nieto2022-11-041-0/+5
| | | | | | | Currently just the one test needs it. The ssh-rsa makes sure we're asking for the cipher we find in `known_hosts` as that won't be the one selected by default. This will be relevant in later changes.
* clone: test for cloning a repo with namespace scopeEdward Thomson2022-09-191-0/+2
| | | | | | Test that we can successfully clone a repository that is namespace scoped on the remote and does not advertise a HEAD. To do this, we must specify the branch to checkout.
* clone: test bare clone namespaced repo with no HEADEdward Thomson2022-09-191-9/+28
| | | | | | | Test that we can successfully clone a repository that is namespace scoped to a bare repository locally. We need not specify a checkout branch in this case (obviously, since we do not check anything out in a bare clone).
* ci: clean up daemon processes on exitEdward Thomson2022-09-161-10/+25
| | | | | | We previously (correctly) cleaned up the git daemon and SSH server, but failed to clean up our bespoke HTTP server and HTTP proxies. Capture their PIDs on process creation and kill them when we shut down.
* ci: update dockerfiles for mbedTLS new urlEdward Thomson2022-07-063-11/+11
| | | | Update the new URL for mbedTLS.
* ci: move centos8 to centos streamEdward Thomson2022-04-201-1/+5
| | | | CentOS 8 is no longer supported; use CentOS stream.
* ci: use the runner's uid/gidEdward Thomson2022-04-205-5/+32
| | | | | Use the runner's uid/gid for the containers for sanity when sharing files across volumes.
* ci: some debugging output for containersEdward Thomson2022-04-191-0/+4
|
* ci: run benchmark tests nightlyEdward Thomson2022-02-273-0/+35
|
* ci: allow for build-time (`cmake --build`) optionsEdward Thomson2022-02-271-3/+4
| | | | | Allow for options in the `cmake --build` phase, so that callers can specify (eg) the config type.
* ci: rename build setup scriptsEdward Thomson2022-02-272-2/+4
| | | | | Rename our build setup scripts to include the `build` name so that we can add additional CI setup scripts with no ambiguity.
* cmake: refactor `add_clar_test` into separate moduleEdward Thomson2022-02-221-4/+0
|
* refactor: move utility tests into utilEdward Thomson2022-02-221-5/+17
|
* ci: test `[user@host:port]:path` formatsEdward Thomson2022-01-171-5/+15
|
* ci: minor formatting cleanups to test outputethomson/follow_redirects_initialEdward Thomson2022-01-131-2/+3
|
* remote: introduce `follow_redirects` connect optionEdward Thomson2022-01-131-1/+5
| | | | | | | Give callers the ability to select how to handle redirects - either supporting redirects during the initial connection (so that, for example, `git.example.com/repo` can redirect to `github.com/example/repo`) or all/no redirects. This is for compatibility with git.
* ci: stop retrying "flaky" testsEdward Thomson2022-01-131-4/+0
| | | | We (thankfully) don't have flaky tests anymore, don't retry them.
* ci: use poxygit v0.5.1Edward Thomson2022-01-131-1/+1
| | | | | The new version of our test git server adds redirect support. Upgrade to it.
* ci: pull libssh2 from www.libssh2.orgethomson/ci_libssh2Edward Thomson2021-09-214-6/+4
| | | | | libssh2.org and www.libssh2.org were previously identical; now this is a redirect.
* opts: test GIT_OPT_SET_SSL_CERT_LOCATIONSEdward Thomson2021-08-291-3/+11
| | | | | Include a self-signed certificate for test.libgit2.org:1443 that we can use to verify that GIT_OPT_SET_SSL_CERT_LOCATIONS works.
* ci: stop on test failureEdward Thomson2021-08-291-0/+5
|
* ci: update container versionsEdward Thomson2021-08-236-0/+6
| | | | | Update all the container versions to force a rebuild so that they'll get tagged with latest (due to changes in the CI scripts).
* ci: update centos to find libssh2ethomson/centos_ciEdward Thomson2021-08-211-0/+2
|
* ci: update centos buildsEdward Thomson2021-08-161-1/+2
|
* ci: update centos buildsEdward Thomson2021-08-162-6/+35
|
* ci: update centos buildsEdward Thomson2021-08-151-1/+0
|
* ci: update centos7 and centos8 buildEdward Thomson2021-08-151-1/+3
|
* ci: add centos7 and centos8 docker definitionsEdward Thomson2021-08-152-0/+69
|
* ci: remove the docker entrypointethomson/dockerfileEdward Thomson2021-08-094-19/+12
| | | | | | | | | Omitting an entrypoint.sh to configure the container and instead depending on docker primitives allows us to be more portable. (If a distribution uses a different mechanism for adding users, we need not have multiple entrypoint.sh files or invariants within it; instead we can configure that in the dockerfile itself along with all the other distribution specific components.)
* ci: use GitHub for storing mingw-w64 build dependencyEdward Thomson2021-05-041-2/+2
|
* ci: don't use ninja on macOSEdward Thomson2021-01-151-1/+12
| | | | | | Ninja is not installed by default on the macOS machines; stop trying to use it. Instead use `make -j` which should be roughly equivalent in performance but supported everywhere.
* Change libssh2 version to 1.9.0 on focalMiguel Arroz2020-12-211-3/+3
|
* ci: support multi-arch docker buildsEdward Thomson2020-11-235-8/+18
| | | | | Provide the base to our docker images and run with the QEMU docker support optionally.
* ci: add krb5 to bionic containerEdward Thomson2020-11-231-0/+2
|
* ci: stop using deprecated set-env in GitHub ActionsEdward Thomson2020-11-1811-0/+725
| | | | (And move the ci scripts into the `ci` directory.)
* azure: move build scripts into "azure-pipelines" directoryPatrick Steinhardt2019-07-209-600/+0
| | | | | | | | | | | | Since we have migrated to Azure Pipelines, we have deprecated and subsequentally removed all infrastructure for AppVeyor and Travis. Thus it doesn't make a lot of sense to have the split between "ci/" and "azure-pipelines/" directories anymoer, as "azure-pipelines/" is essentially our only CI. Move all CI scripts into the "azure-pipelines/" directory to have everything centrally located and to remove clutter in the top-level directory.
* tests: execute leak checker via CTest directlyPatrick Steinhardt2019-07-201-26/+2
| | | | | | | | | | | | | | | Right now, we have an awful hack in our test CI setup that extracts the test command from CTest's output and then prepends the leak checker. This is dependent on non-machine-parseable output from CMake and also breaks on various ocassions, like for example when we have spaces in the current path or when the path contains backslashes. Both conditions may easily be triggered on Win32 systems, and in fact they do break our Azure Pipelines builds. Remove the awful hack in favour of a new CMake build option "USE_LEAK_CHECKER". If specifying e.g. "-DUSE_LEAK_CHECKER=valgrind", then we will set up all tests to be run under valgrind. Like this, we can again simply execute ctest without needing to rely on evil sourcery.
* fuzzers: provide test targetsPatrick Steinhardt2019-07-201-3/+1
| | | | | | Instead of having to find the fuzzer executables in our Azure test scripts, provide test targets for each of our fuzzers that will run them with the correct paths.
* ci: build fuzzers on Powershell based build jobsPatrick Steinhardt2019-07-051-1/+1
| | | | | In order to guarantee that our fuzzers build just fine on the Windows platform, let's enable building fuzzers on all Powershell-based builds.
* ci: build with ENABLE_WERROR on WindowsEdward Thomson2019-06-251-1/+1
| | | | Build with -Werror's equivalent (/WX) on MSVC