.gitlab-ci.yml 2.14 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:

# We can not do multi-level includes, so we need to manually include all of
# our templates here
include:
  # projects using these templates should not need to pull the bootstrap
  - local: '/bootstrap/bootstrap.yml'

  # Debian container builder template
  # projects using this should reference this with the following:
  #
12
  # - project: 'wayland/ci-templates'
13 14 15 16
  #   ref: master # or git sha, see https://docs.gitlab.com/ee/ci/yaml/#includefile
  #   file: '/templates/debian.yml'
  #
  - local: '/templates/debian.yml'
17
  - local: '/debian-ci.yml'
18

Benjamin Tissoires's avatar
Benjamin Tissoires committed
19 20
  # Arch linux container builder template
  - local: '/templates/arch.yml'
21
  - local: '/arch-ci.yml'
Benjamin Tissoires's avatar
Benjamin Tissoires committed
22

23 24
  # Fedora container builder template
  - local: '/templates/fedora.yml'
25
  - local: '/fedora-ci.yml'
26

Benjamin Tissoires's avatar
Benjamin Tissoires committed
27 28
  # Ubuntu container builder template
  - local: '/templates/ubuntu.yml'
29
  - local: '/ubuntu-ci.yml'
Benjamin Tissoires's avatar
Benjamin Tissoires committed
30

31 32 33 34
  # Alpine linux container builder template
  - local: '/templates/alpine.yml'
  - local: '/alpine-ci.yml'

35 36

variables:
37
  BOOTSTRAP_TAG: '2019-08-13.0'
38 39 40 41


stages:
  - bootstrapping
42 43
  - alpine_container_build
  - alpine_check
Benjamin Tissoires's avatar
Benjamin Tissoires committed
44 45
  - arch_container_build
  - arch_check
Benjamin Tissoires's avatar
Benjamin Tissoires committed
46 47
  - ubuntu_container_build
  - ubuntu_check
48 49 50 51 52 53 54 55 56 57 58
  - debian_container_build
  - debian_check
  - fedora_container_build
  - fedora_check
  - container_push


bootstrap:
  extends: .bootstrap


59 60 61 62
bootstrap@arm64v8:
  extends: .bootstrap@arm64v8


63 64 65 66 67 68 69 70 71 72 73 74
#
# Everything went fine if this is run, we can promote the latest bootstrap
# tag as latest
#
bootstrap-push@push:
  stage: container_push
  image: $CI_REGISTRY_IMAGE/buildah:$BOOTSTRAP_TAG
  script:
    # log in to the registry
    - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY

    # push the container image to the registry
75
    - skopeo copy docker://$CI_REGISTRY_IMAGE/${ARCH}buildah:$BOOTSTRAP_TAG docker://$CI_REGISTRY_IMAGE/${ARCH}buildah:latest
76 77
  variables:
    GIT_STRATEGY: none
78 79 80
  only:
    refs:
      - master
81 82 83 84 85 86 87 88 89


bootstrap-push@arm64v8:
  extends: bootstrap-push@push
  image: $CI_REGISTRY_IMAGE/arm64v8/buildah:$BOOTSTRAP_TAG
  before_script:
    - export ARCH="arm64v8/"
  tags:
    - aarch64
90 91 92
  only:
    refs:
      - master