1. 03 Jul, 2020 1 commit
  2. 27 Jun, 2020 1 commit
  3. 26 Jun, 2020 1 commit
  4. 25 Jun, 2020 2 commits
  5. 24 Jun, 2020 8 commits
  6. 23 Jun, 2020 1 commit
    • Michal Nowak's avatar
      Alpine: Make backtraces much better · f2e9255d
      Michal Nowak authored
      Current backtraces from cores produced by system tests miss a lot
      information on Alpine Linux. Adding the 'musl-dbg' package makes them on
      par with the rest of C libraries. Addition size is about 3 MB.
      f2e9255d
  7. 18 Jun, 2020 1 commit
  8. 17 Jun, 2020 2 commits
    • Michał Kępień's avatar
      RPM packager: work around an ENOTTY bug · 2278decb
      Michał Kępień authored
      The combination of current CentOS/EPEL 7 versions of mock and GPGME
      triggers the following error when YUM invoked by mock running in a
      Docker container attempts to verify repository metadata:
      
          gpgme.GpgmeError: (7, 32870, u'Inappropriate ioctl for device')
      
      This prevents any CentOS 7 RPM packages from being built in GitLab CI.
      Work around the problem by forcing mock to run YUM without a PTY
      attached.
      2278decb
    • Michał Kępień's avatar
      RPM packager: stop forcing use of IPv4 at image build time · 535309f5
      Michał Kępień authored
      YUM for CentOS 6 does not support the "ip_resolve" configuration option,
      so the tweaks applied in the Dockerfile are not fully effective.
      Furthermore, hardcoded file paths make those tweaks prone to breaking
      due to package updates.  It is also simpler to disable IPv6 globally
      after creating a Docker container than trying to patch all places where
      it can potentially be used at image build time.
      535309f5
  9. 03 Jun, 2020 2 commits
  10. 01 Jun, 2020 1 commit
  11. 25 May, 2020 1 commit
  12. 21 May, 2020 3 commits
  13. 18 May, 2020 1 commit
    • Michał Kępień's avatar
      Install Python test prerequisites in all images · 2aa539bb
      Michał Kępień authored
      With the introduction of Python-based system tests in BIND, all
      operating system images used in GitLab CI should now have pytest and the
      "requests" module installed.  Additionally, the pip tool should also be
      available to facilitate prototyping tests in merge requests by
      eliminating the need to install pip in each CI job.
      2aa539bb
  14. 13 May, 2020 2 commits
  15. 29 Apr, 2020 7 commits
  16. 27 Apr, 2020 5 commits
    • Michał Kępień's avatar
      Improve CI job triggering rules · 361e1aab
      Michał Kępień authored
        - Automatically start jobs for all images potentially affected by a
          Dockerfile template change or a Packer source file modification.
          The rationale here is that most meaningful changes to image contents
          happen through modifications to Dockerfile templates and Packer
          source files while Makefile updates are rare (and starting all
          relevant jobs when a Makefile is modified would be reckless).
      
        - Allow all jobs to be run (on demand) for pipelines created through
          the web interface.  This allows any build job to be tested before
          merging a branch which modifies Makefile(s) but does not touch any
          Dockerfile templates or Packer source files (since Makefile changes
          alone do not trigger build jobs).
      
        - Automatically push rebuilt images to the production Docker registry
          when a branch is merged into "master".  Propagating changes
          introduced by branches which only touch Makefile(s) will require
          creating a pipeline for the "master" branch using the web interface,
          but that is expected to be needed rarely.
      
        - Ensure scheduled build jobs are still run automatically.
      361e1aab
    • 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.
      8ddcd2cb
    • 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.
      543773f3
    • 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.
      494a7c88
    • 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.
      de0f7f2a
  17. 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.
      58711bba