1. 26 Mar, 2020 8 commits
    • Michał Kępień's avatar
      Remove unused YAML anchors · 3d121ede
      Michał Kępień authored
      Some YAML anchors defined in .gitlab-ci.yml are not subsequently used.
      Remove them to prevent confusion.
      3d121ede
    • Michał Kępień's avatar
      Do not install compiledb in cppcheck job · 3d264dbe
      Michał Kępień authored
      compiledb is already included in the Docker image used by the cppcheck
      job.  Do not attempt installing it again.
      3d264dbe
    • Michał Kępień's avatar
      Include compiler name in all build/test job names · 0c898084
      Michał Kępień authored
      Most build/test job names already contain a "clang", "gcc", or "msvc"
      prefix which indicates the compiler used for a given job.  Apply that
      naming convention to all build/test job names.
      0c898084
    • Michał Kępień's avatar
      Refactor TSAN unit test job definitions · 84463f33
      Michał Kępień authored
      Multiple YAML keys have identical values for both TSAN unit test job
      definitions.  Extract these common keys to a YAML anchor and use it in
      TSAN unit test job definitions to reduce code duplication.
      84463f33
    • Michał Kępień's avatar
      Run "kyua report-html" for TSAN unit test jobs · 6ebce942
      Michał Kępień authored
      Definitions of jobs running unit tests under TSAN contain an
      "after_script" YAML key.  Since the "unit_test_job" anchor is included
      in those job definitions before "after_script" is defined, the
      job-specific value of that key overrides the one defined in the included
      anchor.  This prevents "kyua report-html" from being run for TSAN unit
      test jobs.  Moving the invocation of "kyua report-html" to the "script"
      key in the "unit_test_job" anchor is not acceptable as it would cause
      the exit code of that command to determine the result of all unit test
      jobs and we need that to be the exit code of "make unit".  Instead, add
      "kyua report-html" invocations to the "after_script" key of TSAN unit
      test job definitions to address the problem without affecting other job
      definitions.
      6ebce942
    • Michał Kępień's avatar
      Refactor TSAN system test job definitions · a9aa295f
      Michał Kępień authored
      Multiple YAML keys have identical values for both TSAN system test job
      definitions.  Extract these common keys to a YAML anchor and use it in
      TSAN system test job definitions to reduce code duplication.
      a9aa295f
    • Michał Kępień's avatar
      Drop "before_script" key from TSAN job definitions · 8ef01c7b
      Michał Kępień authored
      Both "system_test_job" and "unit_test_job" YAML anchors contain a
      "before_script" key.  TSAN job definitions first specify their own value
      of the "before_script" key and then include the aforementioned YAML
      anchors, which results in the value of the "before_script" key being
      overridden with the value specified by the included anchor.  Given this,
      remove "before_script" definitions specific to TSAN jobs as they serve
      no practical purpose.
      8ef01c7b
    • Michał Kępień's avatar
      Define TSAN options in a global variable · 6325c099
      Michał Kępień authored
      All assignments for the TSAN_OPTIONS variable are identical across the
      entire .gitlab-ci.yml file.  Define a global TSAN_OPTIONS_COMMON
      variable and use it in job definitions to reduce code duplication.
      6325c099
  2. 25 Mar, 2020 3 commits
  3. 24 Mar, 2020 1 commit
    • Ondřej Surý's avatar
      Remove Debian 8 ("Jessie") from the GitLab CI · 75f46cc3
      Ondřej Surý authored
      There are several reason why remove Debian 8 from the CI:
      
      * Debian 8 ("jessie") has been superseded by Debian 9 ("stretch").
      * Regular security support updates have been discontinued as of
        June 17th, 2018.
      * Jessie LTS is supported from 17th June 2018 to June 30, 2020.
      
      In other words, it's no longer officially supported by Debian security
      team, but by the volunteer/paid contributor composed LTS team.  And the
      release will be discontinued in three months from now.  We can use the
      freed CI resources to bring new platforms or just to make the jobs run a
      bit faster.
      75f46cc3
  4. 20 Mar, 2020 2 commits
    • Michal Nowak's avatar
      Bump BIND baseline version for abi-check · 3730d59b
      Michal Nowak authored
      3730d59b
    • Michal Nowak's avatar
      Enhance unit test debugging · 8fad74e0
      Michal Nowak authored
      When unit test fails, core file is created. Kyua's 'debug' command can
      run GDB on it and provide backtrace. Unfortunately Kyua is picky about
      location of these core files we opt to use custom Kyua fork and copy
      core files from Kyua working directory to source tree and make it
      available in GitLab.
      8fad74e0
  5. 18 Mar, 2020 3 commits
    • Ondřej Surý's avatar
      Rename MAKE environment variable to MAKE_COMMAND · de1a637a
      Ondřej Surý authored
      The environment variable MAKE has been replaced with MAKE_COMMAND,
      because overriding MAKE variable also changed the definition of the MAKE
      inside the Makefiles, and we want only a single wrapper around the whole
      build process.
      
      Previously, setting `MAKE` to `bear make` meant that `bear make` would
      be run at every nested make invocation, which messed up the upcoming
      automake transition as compile_commands.json would be generated in every
      subdirectory instead of just having one central file at the top of the
      build tree.
      de1a637a
    • Ondřej Surý's avatar
      Remove cppcheck arm64 job · 99f9e2c5
      Ondřej Surý authored
      All *:sid:amd64 jobs were errorneously copied to *:sid:arm64 including
      the extra cppcheck run.  Remove the extra definitions from arm64 jobs.
      99f9e2c5
    • Ondřej Surý's avatar
      Replace dependencies+needs with needs+artifacts in GitLabCI config · 66ba808c
      Ondřej Surý authored
      All jobs now use solely the newer needs configuration to declare
      dependencies between jobs:
      
          needs:
            - job: <foo>
              artifacts: true
      
      instead of combination of dependencies and needs which is deprecated.
      This change completely unbundles the stages (alas the stages still needs
      to stay because the job graph has to stay acyclic between the stages).
      66ba808c
  6. 16 Mar, 2020 2 commits
  7. 11 Mar, 2020 1 commit
  8. 10 Mar, 2020 1 commit
    • Michal Nowak's avatar
      Add API Checker · 49bc08e6
      Michal Nowak authored
      ABI checker tools generate HTML and TXT API compatibility reports of
      BIND libraries. Comparison is being done between two bind source trees
      which hold built BIND.
      
      In the CI one version is the reference version defined by
      BIND_BASELINE_VERSION variable, the latter one is the HEAD of branch
      under test.
      49bc08e6
  9. 09 Mar, 2020 1 commit
    • Michał Kępień's avatar
      Do not run OpenBSD system test jobs for tags · 7b002cea
      Michał Kępień authored
      OpenBSD virtual machines seem to affected particularly badly by other
      activity happening on the host.  This causes trouble around release
      time: when multiple tags are pushed to the repository, a large number of
      jobs is started concurrently on all CI runners.  In extreme cases, this
      causes the system test suite to run for about an hour (!) on OpenBSD
      VMs, with multiple tests failing.  We investigated the test artifacts
      for all such cases in the past and the outcome was always the same: test
      failures were caused by extremely slow I/O on the guest.  We tried
      various tricks to work around this problem, but nothing helped.
      
      Given the above, stop running OpenBSD system test jobs for pending BIND
      releases to prevent the results of these jobs from affecting the
      assessment of a given release's readiness for publication.  This change
      does not affect OpenBSD build jobs.  OpenBSD system test jobs will still
      be run for scheduled and web-requested pipelines, to make sure we catch
      any severe issues with test code on that platform sooner or later.
      7b002cea
  10. 06 Mar, 2020 1 commit
  11. 05 Mar, 2020 1 commit
  12. 04 Mar, 2020 1 commit
    • Michal Nowak's avatar
      Fix "pkcs11" system test · 85cb3a21
      Michal Nowak authored
        - Define the SLOT environment variable before starting the test.  This
          variable defaults to 0 and that does not work with SoftHSM 2.
      
        - The system test expects the PIN environment variable to be set to
          "1234" while bin/tests/prepare-softhsm2.sh sets it to "0000".
          Update bin/tests/prepare-softhsm2.sh so that it sets the PIN to
          "1234".
      
        - Move contents of bin/tests/system/pkcs11/prereq.sh to
          bin/tests/system/pkcs11/setup.sh as the former was creating a file
          called "supported" that was getting removed by the latter before
          bin/tests/system/pkcs11/tests.sh could access it.
      
        - Fix typo in "have_ecx".
      85cb3a21
  13. 20 Feb, 2020 2 commits
    • Michał Kępień's avatar
      Increase lifetime of docs:sid:amd64 artifacts · 9751ba5a
      Michał Kępień authored
      Artifacts generated by the docs:sid:amd64 job need to be retained longer
      than for other jobs as they are used for building bind.isc.org contents.
      If these artifacts are removed too quickly, pipelines in the pages/bind
      GitLab project start failing, preventing content updates from being
      published.  Increase lifetime of the relevant job artifacts to prevent
      this from happening.
      9751ba5a
    • Witold Krecicki's avatar
      Fix lib/isc/tests/socket_test hangs · 0fe149b2
      Witold Krecicki authored
      0fe149b2
  14. 16 Feb, 2020 2 commits
  15. 14 Feb, 2020 2 commits
  16. 12 Feb, 2020 2 commits
    • Michal Nowak's avatar
      Run Coverity Scan only when specific variables are present · eec29e34
      Michal Nowak authored
      Submissions to Coverity Scan should be limited to those originated from
      release branches and only from a specific schedule which holds
      COVERITY_SCAN_PROJECT_NAME and COVERITY_SCAN_TOKEN variables.
      eec29e34
    • Michal Nowak's avatar
      Add Coverity Scan to CI · c209ec90
      Michal Nowak authored
      This job requires two CI variables to be set:
      
        - COVERITY_SCAN_PROJECT_NAME: project name, which is associated with
          the BIND branch for which this job is executed, e.g. "bind-master",
      
        - COVERITY_SCAN_TOKEN: project token.
      c209ec90
  17. 08 Feb, 2020 1 commit
  18. 04 Feb, 2020 1 commit
    • Michał Kępień's avatar
      Update GitLab CI to OpenBSD 6.6 · 99ed3a0e
      Michał Kępień authored
      Since OpenBSD 6.6 is the current OpenBSD release, replace OpenBSD 6.5
      GitLab CI jobs with their up-to-date counterparts.
      
      As CI jobs for OpenBSD 6.6 will be run by a generalized libvirt executor
      rather than an OpenBSD-specific one, make the necessary tag and variable
      adjustments as well.
      99ed3a0e
  19. 21 Jan, 2020 1 commit
  20. 16 Jan, 2020 1 commit
  21. 13 Jan, 2020 1 commit
    • Michal Nowak's avatar
      Add openSUSE Tumbleweed image to the CI · 3526c730
      Michal Nowak authored
      Ensure BIND is continuously tested on Tumbleweed, a pure rolling release
      version of openSUSE.  This will allow BIND incompatibilities with latest
      upstream versions of its dependencies to be caught more quickly.
      3526c730
  22. 10 Jan, 2020 1 commit
  23. 09 Jan, 2020 1 commit