1. 27 Apr, 2020 4 commits
    • Michał Kępień's avatar
      Enable parallel compilation for FreeBSD QCOW2 jobs · 8ddcd2cb
      Michał Kępień authored
      Packer jobs should also benefit from parallel compilation the way Docker
      jobs do.  This only applies to FreeBSD jobs for the time being (since we
      do not compile any source code while building other QCOW2 images), but
      make the necessary adjustments on a "global" level (in packer/Makefile)
      anyway, so that further platforms can be tweaked more conveniently if
      the need arises in the future.  While packer/freebsd/packer.json only
      allocates 2 vCPUs to the VM building the QCOW2 image and the default
      number of parallel build jobs is set to 6, we do not care much about
      that discrepancy.
    • Michał Kępień's avatar
      Only push "production" QCOW2 images from master · 543773f3
      Michał Kępień authored
      Use a "staging" registry for QCOW2 images in a similar spirit as for its
      Docker counterpart - only update QCOW2 images in the main registry when
      a CI job is run for the "master" branch.  This allows us to experiment
      freely with the build process using custom branches, merge requests,
      etc., without any risk of affecting GitLab CI results.
    • Michal Nowak's avatar
      Build custom software in parallel · 494a7c88
      Michal Nowak authored
      Number of make jobs is the same as in the BIND repository.
    • Michal Nowak's avatar
      Cache Kyua · de0f7f2a
      Michal Nowak authored
      Since image building happens in special Docker-in-Docker container, we
      can't use GitLab cache as-is but we need to get the extracted cache
      content first to the root/context directory where Docker build will take
      place and then to the image itself during the Docker build. After that
      updated content is copied out of the published image to a place where it
      can be cached by GitLab.
  2. 24 Apr, 2020 1 commit
    • Michal Nowak's avatar
      Rebuild Tumbleweed and sid images periodically · 58711bba
      Michal Nowak authored
      'when:manual' for all Docker (and KVM) jobs prevents us from executing
      them via Scheduler (a pipeline with 'skipped' jobs is created). As we
      nearly never intend to execute all jobs at once, and thus removing
      'when:manual' is not an option, special 'REBUILD_PERIODICALLY' variable
      is added for jobs which should rather have 'when:always' set and thus
      start automatically in Schedule.
      'only_if_XXX_changed' templates were removed as 'only' is not compatible
      with 'rules' (and is deprecated anyway) and because they are not working
      as intended in most situations.
  3. 21 Apr, 2020 1 commit
  4. 01 Apr, 2020 1 commit
  5. 27 Mar, 2020 2 commits
    • Michał Kępień's avatar
      Fix dnstap installation conditions · c517bfea
      Michał Kępień authored
      dnstap dependencies are currently unconditionally included in Alpine
      Linux images.  Only install them if the relevant Makefile variable is
      Tweak the condition for installing dnstap dependencies on CentOS so that
      it matches its Debian counterpart.
    • Michał Kępień's avatar
      Include vendor in optional installation variables · 0be3b668
      Michał Kępień authored
      Some Linux distributions (e.g. Alpine Linux) neither use release
      codenames nor include the distribution name in their Docker tags.  Since
      variable names like "dnstap_3.11_amd64" would cause confusion, include
      distribution names in the names of Makefile variables controlling
      conditional installations.
  6. 26 Mar, 2020 5 commits
  7. 25 Mar, 2020 7 commits
    • Michal Nowak's avatar
      Drop Fedora 30 · 7ec026e7
      Michal Nowak authored
    • Michal Nowak's avatar
      Drop Alpine Linux 3.10 · e1efd647
      Michal Nowak authored
    • Michał Kępień's avatar
    • Ondřej Surý's avatar
    • Ondřej Surý's avatar
      Rework the way we build and use Debian/Ubuntu images · 8a94d972
      Ondřej Surý authored
      Following changes have been made to the Makefile and Dockerfile for
      Debian/Ubuntu images:
      * With introduction of arm64 builder, we needed more fine grained
        switches that define whether to install specific software bundle into
        the image.  The switches are now defined as a tripplets:
        <software>_<version>_<architecture>, e.g. dnstap_buster_amd64
      * Change the install/no-install logic for abi-compliance-checker,
        shellcheck, and compiledb from Dockerfile to the Makefile
      * It was hard to test whether the images build correctly and not mess
        with production environment.  Now, the images are pushed only if the
        pipeline is run on the default repository branch (e.g. master).
      * Install only a single LLVM/Clang version - 10 at the time of this
        commit.  This has to match with bind9's .gitlab-ci.yml.
      * Don't install the LLVM/Clang to Debian sid, this is more often broken
        than it's not.
      * Pick a "base_image" in the bind9's .gitlab-ci.yml that will have the
        extra software.  At the time of writing this, The Debian amd64 buster
        image was picked.  This means needs to get the latest version of the
        clang, coccinelle, abicc, cppcheck and others.
      * If `@FOO@` in the `if [ -n "@FOO@" ]` construct didn't get replaced it
        would default to true.  Change this to `if [ "@FOO@" = "yes" ]` that
        defaults to false.
      * Install the abi-compliance-checker and it's dependencies from the git
        repository instead from the Debian buster repository.
    • Ondřej Surý's avatar
    • Ondřej Surý's avatar
  8. 24 Mar, 2020 1 commit
  9. 23 Mar, 2020 1 commit
  10. 19 Mar, 2020 1 commit
  11. 18 Mar, 2020 2 commits
  12. 17 Mar, 2020 3 commits
    • Michal Nowak's avatar
      Use custom kyua · 13885225
      Michal Nowak authored
      Kyua has it's own expectations on where to find core file generated by
      a broken test. They do not suit us well as the common Linux core
      pattern setup places the core alongside the crashed binary with a
      'core.PID' pattern.
      Following Kyua fork adds the above mentioned expectation to the Kyua
      source code.
    • Michał Kępień's avatar
      Fix broken @CLANG@ token · 2ce221b1
      Michał Kępień authored
    • Michał Kępień's avatar
      Enable use of HTTPS Clang repositories on Debian · 6cdeb04c
      Michał Kępień authored
      The apt.llvm.org package repository seems to have moved to HTTPS-only.
      Without the apt-transport-https package installed, apt appears to hang
      during routine operations (e.g. "apt-get update") when a repository like
      this is enabled in its configuration.  Fix by installing the
      apt-transport-https package whenever Clang repositories are to be used.
  13. 16 Mar, 2020 1 commit
  14. 06 Mar, 2020 1 commit
  15. 05 Mar, 2020 5 commits
  16. 03 Mar, 2020 1 commit
  17. 20 Feb, 2020 1 commit
    • Michal Nowak's avatar
      sid: Add respdiff dependencies · 900f63d0
      Michal Nowak authored
      respdiff test depends on Python modules which currently can't be
      satisfied with sid packages, we need to grab them from PyPI.
  18. 16 Feb, 2020 1 commit
  19. 14 Feb, 2020 1 commit