Commit Graph

117 Commits

Author SHA1 Message Date
Frantisek Sumsal
fedc14c5a1 travis: add missing optional build dependencies 2020-12-20 22:21:35 +01:00
Yu Watanabe
85a03fda7d ci: also set -Dfuzz-tests=true if -Dslow-tests=true 2020-11-13 18:15:41 +09:00
Frantisek Sumsal
2665327a41 travis: compile with -O1 with clang
libc in the Debian container got updated to 2.31, which in combination
with clang-9 triggers systemd/systemd#14865.

This has been fixed by https://reviews.llvm.org/D74712 which is (to my
knowledge) included in clang-10. To mitigate this without upgrading to
clang-10 we can compile with -O1 which works around it as well, see
https://bugzilla.redhat.com/show_bug.cgi?id=1803203.
2020-07-21 02:00:04 +09:00
Evgeny Vereshchagin
b7067c4d87 coverity: install systemd
Apparently systemd is no longer installed in fedora containers
by default

```
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348:
starting container process caused "exec: \"/sbin/init\": stat /sbin/init: no such file or directory": unknown.
The command "$CI_MANAGERS/fedora.sh SETUP" failed and exited with 127 during .
```
2020-07-12 22:26:19 +00:00
Frantisek Sumsal
a64911f9b7 travis: install missing deps for the Coverity run
Let's install libzstd & libfido2 to cover two recently added features.
In case of libfido2 this should also get rid of the 'dead code' issues
found by Coverity, like CID#1430168, CID#1430167, CID#1430166, or
CID#1430165.
2020-07-06 11:06:59 +02:00
Evgeny Vereshchagin
a055076988 ci: free up some resources on Pipelines
Now that CIFuzz supports all the sanitizers we use and ALLOWED_BROKEN_TARGETS_PERCENTAGE
we no longer need that bash script.
2020-06-25 10:48:57 +02:00
Frantisek Sumsal
0116d27a30 travis: sort dependencies 2020-06-16 18:49:37 +02:00
Frantisek Sumsal
305efcaf3c travis: drop stuff moved to GH Actions 2020-06-16 18:47:49 +02:00
Frantisek Sumsal
eeb8c7accf travis: use a matrix for similar jobs 2020-06-16 18:47:39 +02:00
Evgeny Vereshchagin
135a1add7b turn off fuzzit part 2
it's just a follow-up to https://github.com/systemd/systemd/pull/16064
2020-06-11 18:59:44 +02:00
Frantisek Sumsal
4e1a13db89 ci: move the build check script to workflows directory 2020-06-11 14:17:40 +02:00
Frantisek Sumsal
0664249ffc ci: do the compiler-detection magic in the test script
so we have all PPA definitions at one place.
2020-06-11 14:17:37 +02:00
Frantisek Sumsal
35cd3db4e5 ci: add homed/zstd dependencies
Also, sort the whole list when we're at it.
2020-06-11 12:15:05 +02:00
Frantisek Sumsal
aab86b12dd github: move the clang/gcc build check to GH Actions
Travis CI is getting overloaded, so let's move some load over to GitHub
Actions.
2020-06-11 12:15:02 +02:00
Frantisek Sumsal
b36746c90e travis: check build with various compiler options
In the past we occasionally stumbled upon a build issue which could be
reproduced only with specific optimization level or other compilation
option. Let's try to build the current revision with several most common
compiler options causing such issues to catch them early.
2020-06-09 21:27:07 +02:00
Evgeny Vereshchagin
9554b8d1d1 fuzzit: switch to -fundefined
Now that https://github.com/systemd/systemd/issues/15907 is gone,
we can simply use "undefined" instead of listing all the possible checks
explicitly.
2020-05-27 08:38:37 +02:00
Frantisek Sumsal
e9158b254c travis: enable fuzzer regression tests under sanitizers 2020-05-22 19:12:59 +02:00
Evgeny Vereshchagin
157dcb8de3 fuzzit: turn on the pointer-overflow check
Now that https://github.com/systemd/systemd/issues/15583 is gone, it
should be safe to turn it on.
2020-05-20 16:07:26 +02:00
Evgeny Vereshchagin
5141b4e3b6 ci: install fdisk on Debian
To judge from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=947134 and
44ec91ef11,
`util-linux` no longer depends on `fdisk` so it seems it should be installed
manually.
2020-05-14 04:24:49 +03:00
Norbert Lange
8012d5c08e install libzstd-dev for CI builds 2020-05-04 10:59:43 +02:00
Frantisek Sumsal
a8af7f6a5c fuzzit: make the submit phase a bit more robust
The submit phase of the Fuzzit Travis job has been spuriously failing
for some time with various (and usually pretty hidden) errors, like:

```
./fuzzit create job --type regression ...
2020/04/23 17:02:12 please set env variable FUZZIT_API_KEY or pass --api-key. API Key for you account: ...
```

```
./fuzzit create job --type regression ...
2020/04/23 11:36:53 Creating job...
2020/04/23 11:36:54 Uploading fuzzer...
2020/04/23 11:36:54 Job created successfully
2020/04/23 11:36:54 Get https://...&action=create: read tcp x.x.x.x:39674->x.x.x.x:443: read: connection reset by peer
```

```
./fuzzit create job --type regression ...
2020/04/22 18:09:15 Creating job...
2020/04/22 18:09:16 Uploading fuzzer...
2020/04/22 18:09:37 Job created successfully
2020/04/22 18:09:37 500 Internal Server Error
```

etc.

Let's retry each submit job up to three times to (hopefully) mitigate this.
2020-04-24 01:58:37 +03:00
Frantisek Sumsal
86b52a3958 tree-wide: fix spelling errors
Based on a report from Fossies.org using Codespell.

Followup to #15436
2020-04-21 23:21:08 +02:00
Evgeny Vereshchagin
6b8d32ea7b ci: turn off FuzzBuzz
I don't think anyone uses it.
2020-03-30 14:57:22 +02:00
Evgeny Vereshchagin
c4ae2704b7 travis: install ninja with pip
https://mesonbuild.com/Release-notes-for-0-54-0.html#ninja-version-requirement-bumped-to-17
https://github.com/mesonbuild/meson/issues/6867
2020-03-30 02:57:56 +03:00
Evgeny Vereshchagin
c667e09ba0 ci: pass max_total_time to libFuzzer
Since clang was updated to 9.0.1 libFuzzer has been exiting with 72
when it's run with timeout. Let's pass -max_total_time to it instead.
2020-02-18 02:29:50 +03:00
Lennart Poettering
0edd431e15 ci: add new dependencies to CI 2020-01-28 22:38:22 +01:00
Frantisek Sumsal
a3e42c468f test: unpin meson from v0.52.1
The compatibility issue in meson v0.53 has been fixed in v0.53.1, which
is already available through pip, so let's remove the pin for meson
introduced before.

Reverts: 514793658c
2020-01-25 23:14:35 +03:00
Lennart Poettering
e65f29b4c6 ci: add dependencies for repart + cryptsetup's pkcs#11 support
Let's make sure we can test systemd-repart properly

(And while we are at it, also test cryptsetup-pkcs#11)
2020-01-20 17:42:03 +01:00
Frantisek Sumsal
514793658c test: pin meson to 0.52.1 for fuzzit/fuzzbuzz
Latest meson doesn't work with older python 3.5, which is present on
Ubuntu 16.04. Let's pin in to the latest working version (0.52.1) until
we properly bump all necessary Ubuntu images to 18.04.

See: https://github.com/mesonbuild/meson/issues/6427
2020-01-08 13:56:30 +03:00
Frantisek Sumsal
14157349db travis: wait for the container to fully boot up
This avoids nasty race conditions between dnf/apt-get and unfinished
population of /tmp (among other things), as `docker exec` allows commands
to run before the system is fully booted (i.e. initializing/starting
state reported by `systemctl is-system-running`).
2019-12-31 13:15:38 +00:00
Evgeny Vereshchagin
738606e452 coverity: replace python with jq
Judging by https://travis-ci.org/systemd/systemd/jobs/604425785
(where the script failed with "tools/coverity.sh: line 45: python: command not found")
python-unversioned-command is no longer installed by default with python2.
Given that it's not the first time python has vanished and it's not clear
what exactly should be installed to make sure it's there, let's just use jq instead.
2019-10-30 09:17:04 +01:00
Evgeny Vereshchagin
807f9a1700 fuzzit: export the API key instead of using auth
"We removed some cahing related code that auth used and caused problems"
2019-09-12 14:02:21 +03:00
Evgeny Vereshchagin
20c9c29c68 travis: switch to the latest version of the fuzzit CLI
I was informed that fuzzit-1.1 is going to be deprecated soon. Generally
the latest version isn't recommened because it's still in beta and theoretically
might be backwards incompatible but let's try rolling forward to avoid PRs
like this going forward. We can always roll it back :-)
2019-09-07 00:06:36 +03:00
Evgeny Vereshchagin
64d0f7042d travis: protect the systemd organization on Fuzzit from forks
Now that v243 is out, the script has been pulled by forks that are
activated on Travis CI. As a result, all those forks have started to send
their fuzzers to Fuzzit inadvertantly consuming our CPUs along the way.
Let's prevent this by bailing out early if the script is run outside of
the systemd repository.
2019-09-06 02:07:37 +00:00
Evgeny Vereshchagin
d4d74d0fc0 fuzzit: get MSan to track origins
It's just a follow-up to https://github.com/systemd/systemd/pull/13281
that should make it a little bit easier to make sense of
MSan reports.

https://clang.llvm.org/docs/MemorySanitizer.html#origin-tracking
2019-08-09 07:25:39 +00:00
Evgeny Vereshchagin
9cf19c1b30 fuzzit: collapse a series of commands
Now that the ids are gone, we can generate commands simply
using names as we go
2019-08-08 15:08:58 +00:00
Evgeny Vereshchagin
a9285009b7 fuzzit: switch to a new organization 2019-08-08 15:08:52 +00:00
Evgeny Vereshchagin
688b142d39 fuzzit: unleash MSan on all the fuzzers 2019-08-07 23:09:15 +00:00
Yu Watanabe
81f33199e7 fuzzit: ignore library version 2019-07-23 23:32:33 +03:00
Evgeny Vereshchagin
b5efca2a65 Free up some resources on Azure Pipelines
Let's drop the tests we also run on CentOS CI to free up some resources
for something more useful.
2019-07-17 13:28:38 +09:00
Evgeny Vereshchagin
ee784fff1a tests: run TEST-01-BASIC under ASAN+UBSan again
Not that `journalctl --flush` is no longer flaky, it should be
safe to bring the test back.
2019-07-16 15:01:04 +00:00
Evgeny Vereshchagin
0772b11cc8 tests: turn on the "object-size" UBSan check on Fuzzit
Now that 2eb1c19881 is merged it should be safe.
2019-07-11 19:37:22 +03:00
Frantisek Sumsal
03bf413309 test: install missing dependencies for CIs 2019-07-08 21:37:16 +02:00
Evgeny Vereshchagin
28025ba839 travis: turn on all default UBSan checks except for pointer-overflow, object-size and float-cast-overflow 2019-06-17 23:45:36 +03:00
Evgeny Vereshchagin
5afed2fc20 fuzzit: sort UBSan checks alphabetically
to make it easier to make sense of them
2019-06-17 12:49:07 +02:00
Evgeny Vereshchagin
9bd2422ac3 travis: turn on nonnull-attribute on Fuzzit 2019-06-15 23:12:24 +02:00
Evgeny Vereshchagin
f789e0b4f8 travis: add more ASan options 2019-06-15 05:19:58 +02:00
Evgeny Vereshchagin
b5e1f0bdf4 travis: clean up bash variables a bit
in preparation for adding more ASan options
2019-06-15 05:19:58 +02:00
Evgeny Vereshchagin
5057d73ba1 travis: use UBSan checks from OSS-Fuzz
This should help to silence UBSan reports mentioned in
https://github.com/systemd/systemd/pull/12771#issuecomment-502139157
for now.
2019-06-15 05:19:52 +02:00
Evgeny Vereshchagin
e87e6962fd travis: turn on UBSan on Fuzzit 2019-06-15 00:09:15 +02:00