summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml (follow)
Commit message (Collapse)AuthorAgeFilesLines
* .gitlab-ci: fail Coverity Scan on HTTP errorOto Šťáva2024-05-201-0/+1
|
* .gitlab-ci: remove SonarCloud ScannerOto Šťáva2024-05-141-19/+0
| | | | | The detections are mostly academic and useless for our purposes. We have other static analyzers that better suit our needs.
* .gitlab-ci, tests, modules: adapt to knot-resolver-ci repoOto Šťáva2024-05-131-55/+95
| | | | | | | | | | | | | | | | | | | | | This is the bulk of the CI/CD overhaul. Most of the changes are to the `.gitlab-ci.yml` file, where the build images used are replaced with the ones provided by the `knot-resolver-ci` repository. Some cleanups have also been done. The commit also adds unit testing with Knot Resolver built against multiple versions of Knot DNS, including the `master` branch. The `master` branch image is built nightly in the `knot-resolver-ci` repo. We have also removed `scan-build`, as its tests change frequently, with lots of false-positives, which are very different on each version, and there is no good way to ignore some detections. Clang-Tidy covers some of the same issues, and we also have Coverity Scan. Should be more than enough. A few config tests were also excluded in the AddressSanitizer tests, because they produce false-positives.
* gitlab-ci: push docs to the website (manual CI)Oto Šťáva2024-04-101-0/+18
|
* daemon/meson.build: add install_rpath to kresdOto Šťáva2024-04-051-4/+6
| | | | | | | | | | | | This fixes the default use-case for developers when they put their install prefix somewhere where the system `LD_LIBRARY_PATH` does not point. Before this, `kresd` would fail to start after `ninja install` because it would not be able to find the `libkres.so` library. The original workaround to this was to use `meson configure -Ddefault_library=static`, but firstly, we would like it to be working with the default settings, and secondly, we would like to have it as similar to what most users will encounter as possible.
* ci: obs: create venv and install apkgAleš Mrázek2024-03-271-0/+4
|
* .gitlab-ci: remove the `pages` job for 5.xOto Šťáva2024-01-101-11/+0
|
* .gitlab-ci: upgrade pip packagesOto Šťáva2024-01-101-2/+2
|
* .gitlab-ci: remove old 'doc' targetOto Šťáva2024-01-101-10/+0
|
* .gitlab-ci: fix Pages publishingOto Šťáva2024-01-091-1/+4
| | | | | | This commit renames `docs:public` to `pages` as required by GitLab CI to recognize Pages jobs correctly. It also adds the `public` directory into `artifacts:paths`.
* .gitlab-ci.yml: use environments for documentation versioningOto Šťáva2024-01-091-0/+70
| | | | | | | | | | | | | | | | This leverages Environments on GitLab to expose different versions of Knot Resolver docs. The `docs:build` job builds the documentation and exposes it via job artifacts. Then `docs:develop` (for branches) and `docs:release` (for tags) take these artifacts and expose them via an Environment link (an example of this in action may be seen at [https://gitlab.nic.cz/ostava/knot-resolver/-/environments]). There is also an optional, manually runnable `docs:public` job, which, when run, propagates the documentation to the main GitLab Pages of the project (e.g. [https://knot.pages.nic.cz/knot-resolver]) - this will probably be mostly used for the latest release, although this setup pretty much allows us to swap it for whatever version we like at any time.
* ci: reintroduce Go tests into the CIOto Šťáva2023-06-071-3/+3
|
* ci: drop debian 9Vladimír Čunát2023-05-081-7/+0
| | | | | | | It looks like downloads won't work anymore: https://gitlab.nic.cz/knot/knot-resolver/-/jobs/890201 https://gitlab.nic.cz/knot/knot-resolver/-/jobs/890312 which is probably because long-term support ended last summer.
* ci: leap < 15.4 are deadVladimír Čunát2023-02-071-6/+2
| | | | | | | | | | | | These packaging tests are dying anyway; the manager branch reworked them. So at least the breakages won't be shown in red until then. https://gitlab.nic.cz/knot/knot-resolver/-/jobs/852665 https://build.opensuse.org/request/show/1050454 obs:leap15 after updating fails later in the vagrant step though: https://gitlab.nic.cz/knot/knot-resolver/-/jobs/852799
* ci: allow failure for bad OBS distrotest jobsVladimír Čunát2023-01-261-0/+4
| | | | | | They've been failing for many months, e.g. see https://gitlab.nic.cz/knot/knot-resolver/-/pipelines/104497 This way it at least won't be confusing by showing red in CI.
* use jemalloc in CIVladimír Čunát2022-11-301-4/+6
|
* ci respdiff+resperf: make the skipped cases orangeVladimír Čunát2022-11-071-2/+6
|
* ci respdiff+resperf: make them run manuallyVladimír Čunát2022-11-071-7/+5
| | | | In that case there's no need to wait for other jobs, too.
* ci: make jobs interruptible by defaultVladimír Čunát2022-11-071-0/+6
| | | | | | | | | We're usually not interested in CI on older commits, and this default will help cancelling expensive respdiff jobs. Also add default runner tags to make them less likely to get underspecified. For example, each job should choose one option in the docker/lxc and amd64/arm64 pairs.
* ci pytests: migrate away from LXC runnerVladimír Čunát2022-11-071-15/+3
| | | | | | | This reverts commit 15c1353544be, with some modifications. On LXC we've had issues with FileExistsError: [Errno 17] File exists: '/tmp/pytest-kresd-portdir' .. which disappear with this commit. (I don't know how/why.)
* ci/images/debian-11: drop goVladimír Čunát2022-10-101-3/+3
| | | | | I don't know how to fix building the image with it. A few things were tried around different go versions (from -backports).
* ci OBS: replace Ubuntu 21.10 by 22.04Vladimír Čunát2022-08-161-3/+3
| | | | 21.10 isn't supported anymore, which is probably why it's failing.
* ci OBS: replace Fedora 34 by 36Vladimír Čunát2022-08-161-6/+6
| | | | We've already done that on OBS side, which is probably why it's failing.
* lib/generic/array: avoid quadratic work for long arraysVladimír Čunát2022-08-081-1/+1
| | | | | | | | | | | | For long arrays we really want to increase their length by a fraction. Otherwise it will cost lots of CPU. Doubling seems customary, though I could imagine e.g. keeping the +50% growth on longest arrays. I finally got sufficiently angry with this piece of code when debugging https://forum.turris.cz/t/how-to-debug-a-custom-hosts-file-for-kresd/17449 though in that case it wasn't the main source of inefficiency. CI: two of the mysterious/bogus warnings around arrays disappeared.
* ci: add job build-knot32Vladimír Čunát2022-07-261-0/+9
| | | | That way we get at least basic testing before 3.2 is made default in CI.
* lua bindings: support libknot 3.2Vladimír Čunát2022-07-261-0/+3
|
* ci: confine docker and macOS jobs to main repositoryOto Šťáva2022-07-131-3/+8
| | | | | | | Some of our CI jobs use project-specific GitLab runners (e.g. requiring the `dind` tag). The jobs then fail when someone forks the repository and opens a merge request. This commit confines those jobs to the `knot/knot-resolver` repository.
* ci: fixup lint:scan-buildVladimír Čunát2022-06-091-1/+1
| | | | | | | | | I have no idea why this one appeared right now (part not touched), and it does not make sense at all: ../../../lib/utils.c:524:20: warning: Out of bound memory access (accessed memory precedes memory block) buf[len_need - 1] = 0; ~~~~~~~~~~~~~~~~~~^~~
* ci docker: make into a x86+arm matrixVladimír Čunát2022-06-041-1/+13
| | | | | | No other job can do it, as we don't have docker images ready for that, and the usual manual workflow won't be well usable with arm64. We'll need to convert their generation to (manual?) CI schedules.
* ci: ODVR will also need Debian 11Vladimír Čunát2022-05-201-0/+4
| | | | Debian 10 could probably get dropped soon, but not yet.
* ci: fix ambiguous tag-setsVladimír Čunát2022-04-071-0/+3
| | | | | | | | | | | | In a few places the tag-set specification for jobs could match either amd64 or arm64 runners. That non-determinism is bad, especially when passing platform-specific artifacts around. This is just a stop-gap measure. Later we'll need to rethink our CI in terms of the two platforms. I didn't touch tag-sets with `condor`, as that will probably always be just a single machine (which coordinates scheduling on others).
* ci: remove experimental arm buildsTomas Krizek2022-03-091-23/+0
| | | | | These are running on a hardware setup which is hard to maintain. In the near future, ARM64 should be covered by a dedicated runner.
* .gitlabci: add some doc comments for distotest jobTomas Krizek2022-03-041-0/+7
|
* distro/tests: use rocky8 instead of centos8Tomas Krizek2022-03-041-3/+2
|
* .gitlab-ci: Coverity scanOto Šťáva2022-02-181-0/+17
|
* pytests: migrate to LXC runnerTomas Krizek2022-01-131-4/+12
| | | | | | | | | | | Due to missing support on some of the regular runners, let's migrate these tests to our special LXC runners. This should hopefully make the results more reliable and stable. The downside is that we have to keep an additional image (and recipe) for LXC, since it' slightly different. However, it's probably worth it, since we'll likely migrate some other tests there in the future (for better stability).
* ci: omit extra dependencies for armTomas Krizek2022-01-131-2/+2
|
* ci: use allow_failure for known issuesTomas Krizek2021-11-231-0/+2
|
* .gitlab-ci: omit unused variableTomas Krizek2021-11-191-1/+0
|
* spellingJosh Soref2021-11-191-2/+2
| | | | Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* ci/distrotests: add fedora35, ubuntu2110Tomas Krizek2021-11-081-9/+9
|
* ci build:macOS: more delayVladimír Čunát2021-11-081-1/+1
| | | | | Today it was often failing due to starting too soon. Nothing depends on this job, so it's cheap to start its check later.
* ci: use Knot 3.1Tomas Krizek2021-10-271-4/+5
|
* distro/test: turn off OBS packaging tests for CentOS7Tomas Krizek2021-10-111-7/+0
| | | | | | | Builds are still checked by the other pkftest suite. However, OBS mirrors for CentOS 7 are just problematic. We've already tried to contact them once, they fixed the issue but mentioned it will probably come back. No point in wasting any more time with this test then.
* distro/tests: update to leap 15.3Tomas Krizek2021-10-111-1/+1
|
* ci: migrate jobs to debian 11Tomas Krizek2021-08-301-8/+0
|
* distro/tests: add debian11Tomas Krizek2021-08-301-0/+7
|
* ci build:macOS: skip in security repoVladimír Čunát2021-08-091-0/+3
| | | | | Code wouldn't be leaked. We'd just send the branch name to GH servers. Still, it' better to skip the step.
* daemon/lua/kres-gen: support two versions based on KnotVladimír Čunát2021-07-161-2/+7
|
* ci: attempt to make CI more robust by reducing paralelismTomas Krizek2021-07-071-3/+3
| | | | | | Some tests (typically those using network) ocassionally fail due to timeouts, which is probably due to increased CI load - perhaps reducing it could make the tests more stable.