Skip to content
Snippets Groups Projects

CI/CD overhaul

Merged Oto Šťáva requested to merge ci-overhaul-2 into master
  1. May 13, 2024
    • Oto Šťáva's avatar
      tests/pytests/utils: handle SSLEOFError · 86490903
      Oto Šťáva authored
      It used to just throw BrokenPipeError, but newer versions of Python have
      a separate exception for when the connection is closed in violation of
      TLS rules, which Knot Resolver does deliberately so as to not waste time
      on properly closing TLS connections with misbehaving peers.
      Verified
      86490903
    • Oto Šťáva's avatar
      test/pytests/test_tls: remove resumption test · 883364b7
      Oto Šťáva authored
      Knot Resolver disables resumption on TLS <=1.2 as it is vulnerable to
      replay attacks, so the test makes no sense, as that one was specifically
      disabled for TLS >=1.3 (Python had no support for it at the time).
      
      We should make a new test for this with TLS 1.3 support.
      Verified
      883364b7
    • Oto Šťáva's avatar
      tests/pytests: remove deprecated calls · 6c5949d8
      Oto Šťáva authored
      Verified
      6c5949d8
    • Oto Šťáva's avatar
      Silence Clang-Tidy · c1bdcd06
      Oto Šťáva authored
      This commit makes lots of changes to the C code to appease the
      Clang-Tidy linter. Some of the less obvious ones are due to C's weird
      semantics regarding handling of numeric literals.
      
      We also disable a bunch of the detections because they are
      super-pedantic, arguably useless, or we have our own unwritten coding
      style rules that solve the issues.
      Verified
      c1bdcd06
    • Oto Šťáva's avatar
      .gitlab-ci, tests, modules: adapt to knot-resolver-ci repo · d6176253
      Oto Šťáva authored
      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.
      Verified
      d6176253
    • Oto Šťáva's avatar
      tests/dnstap: Go improvements · 1adee5b0
      Oto Šťáva authored
      - Do `go mod tidy` before running the test, even in CI
      - Add `go.sum` to `.gitignore`
      - Compatibility with Go 1.15 (Debian 11)
      Verified
      1adee5b0
Loading