Skip to content
Snippets Groups Projects
  1. Jan 25, 2021
  2. Jan 15, 2021
    • Emanuele Aina's avatar
      gilab-ci: Apply all `latest` tags once everything else succeeded · 2dc096d6
      Emanuele Aina authored
      
      By applying `latest` tags as soon as the relevant image has been built
      we end up with a quite large time window where they are all quite out
      of sync: in particular, the tag is applied to the `base` image as soon
      as it is ready, before all the depending images get built.
      
      On top of that, if depending images fail, the `latest` tags will stay
      out of sync.
      
      This can be quite confusing for users, so let's apply the `latest` tag
      only after all the previous stages have completed.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      2dc096d6
    • Emanuele Aina's avatar
      gitlab-ci: Ensure that `latest` tag comes from the latest pipeline · aa6fd73d
      Emanuele Aina authored
      
      We want to ensure that the jobs updating the `latest` tags always reflect
      the actual latest pipeline.
      
      When two pipelines are started at the same time on the same branch
      sometimes the earlier one can complete last due to scheduling or any
      other reason, thus breaking the previous assumption.
      
      To avoid that, make the whole pipeline interruptible up to the tagging jobs
      so that earlier pipelines get killed when a new one is started.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      aa6fd73d
  3. Jan 12, 2021
  4. Dec 18, 2020
    • Frederic Danis's avatar
      Add FOSSology to ci-license-scan · d47d105a
      Frederic Danis authored
      
      To improve license scan process we add license scan using a `FOSSology`
      server.
      
      The `fossology.py` adds an `ApertisFossolgy` class which is able to:
      - request upload of source code from Git server to FOSSology server,
      - retrieve references of previous scan for this source code,
      - request scan of the source code,
      - download analysis report.
      - remove FOSSology header, project's name in file path and sort files
      
      This class is used in `ci-licence-scan` to generate the
      `debian/apertis/copyright.fossology` file.
      
      Signed-off-by: default avatarFrédéric Danis <frederic.danis@collabora.com>
      d47d105a
  5. Dec 14, 2020
  6. Dec 10, 2020
  7. Dec 04, 2020
  8. Dec 02, 2020
  9. Nov 13, 2020
  10. Nov 10, 2020
    • Emanuele Aina's avatar
      gitlab-ci: Fix job dependencies · eb5e9b8a
      Emanuele Aina authored
      
      The `.build-docker-image` template had an explicit `needs:` pointing to
      `build-base-rootfs` which was only correct for `build-base-docker-image`
      as other build jobs actually depend on `build-base-docker-image`.
      
      Most of the build jobs did indeed overrid `needs:` except
      `build-image-builder-docker-image` and
      `build-flatdeb-builder-docker-image` which ended up having a race
      condition which caused them to fail if they got executed after
      `build-base-rootfs` was done but before `build-base-docker-image` pushed
      the base image.
      
      Fix that by getting rid of the `needs:` and simply relying on stages
      for sequencing the build jobs.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      eb5e9b8a
    • Emanuele Aina's avatar
      gitlab-ci: Accept $BUILD_ID CI var to create additional tags · 882bbd76
      Emanuele Aina authored and Martyn Welch's avatar Martyn Welch committed
      
      When triggering a pipeline, by setting the `BUILD_ID` CI variable it is
      now possible to tell the pipeline to create `$IMAGE:$BUILD_ID` tags
      like `v2022dev0-image-builder:20201225.000`.
      
      With this it is possible to have an external orchestrator trigger all
      the nightly pipelines with a shared build id, rather than have each
      pipeline compute one at different times.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      882bbd76
  11. Nov 07, 2020
  12. Oct 20, 2020
  13. Oct 02, 2020
  14. Oct 01, 2020
    • Emanuele Aina's avatar
      gitlab-ci: Preserve images built from the same commit · 99c9126c
      Emanuele Aina authored
      
      Untagged images are cleaned immediately from the GitLab container
      registry, so to preserve them for reproducibility purposes we tag every
      build with an unique name and have set a cleanup policy to drop these
      tags (currently once a week).
      
      Unfortunately the unique ID I choose is not much unique: I reused code
      from another project that only builds images when new commits are
      pushed, so I used the `$CI_COMMIT_SHA` value which is far from unique
      when multiple images are built for the same commit due to the regularly
      scheduled daily builds.
      
      Using the `$CI_PIPELINE_ID` should provide an actual unique ID and let
      people retrieve the originating pipeline more easily.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      99c9126c
  15. Sep 22, 2020
  16. Sep 17, 2020
    • Ritesh Raj Sarraf's avatar
    • Sjoerd Simons's avatar
      Use upstream debos container for the base rootfs · 9c3769e0
      Sjoerd Simons authored and Ritesh Raj Sarraf's avatar Ritesh Raj Sarraf committed
      
      Using the docker container for the *current* apertis release to build
      the base rootfs for all docker images leads to a bootstrapping issue. So
      that should be avoided.
      
      The options for that are:
      * Use a docker image from a previous Apertis release
      * Use a non-apertis image
      
      Using a docker image from Apertis (e.g. previous stable) is workable but
      just pushes the bootstrapping issue down the line. So not really that
      helpful (at some point you'll reach a stable release that's not longer
      supported and might be dropped).
      
      So avoiding Apertis in the bootstrapping chain seems recommendable. For
      that simply pick the upstream debos images so we can keep using debos;
      That still requires a kvm based worker, but so would previous stable
      apertis releases at this point.
      
      Signed-off-by: default avatarSjoerd Simons <sjoerd@collabora.com>
      9c3769e0
  17. Sep 16, 2020
  18. Sep 10, 2020
  19. Sep 09, 2020
  20. Sep 08, 2020
  21. Sep 07, 2020
  22. Aug 19, 2020
Loading