summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-10-04 15:16:52 (GMT)
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-10-04 15:16:52 (GMT)
commit60f652782dd6463311e66d24bb1e9b3fd677088e (patch)
treee47c7b69dec260225f63e6df4503bf4a2b43e23e
parentf4c45c1d998ce36e83dfdee08c4824566e87cb98 (diff)
downloaddefinitions-sam/ci-experiments.tar.gz
eviscerate gitlab-ci.yml for testing purposessam/ci-experiments
-rw-r--r--.gitlab-ci.yml209
1 files changed, 14 insertions, 195 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 06d66dc..435bfb7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,19 +1,24 @@
image: buildstream/buildstream-fedora:latest
variables:
+ # Store cache in the shared Docker volume, which gives us much more space
+ # than if we build in the root disk.
+ XDG_CACHE_HOME: "/cache"
+
YBD_base: "/cache/ybd_base"
YBD_gits: "/cache/ybd_base/gits"
GET_SOURCES_ATTEMPTS: 3
cache:
paths:
- - "${YBD_gits}/"
- - "/cache/buildstream/sources/"
+ - ".${YBD_gits}/"
+ - "./cache/buildstream/sources/"
before_script:
- # Work around https://github.com/fedora-cloud/docker-brew-fedora/issues/14
- - export LANG="C.UTF-8"
- - export LC_ALL="C.UTF-8"
+ # Ensure cache is inside build directory. GitLab CI will ignore
+ # everything if we tell it to store /cache because it only wants
+ # to cache things inside the build directory.
+ - ln -s /cache ./cache
# Update to latest BuildStream
- |
@@ -23,7 +28,6 @@ before_script:
pip3 install .
cd -
- # Store cache in the shared Docker volume
- export XDG_CACHE_HOME=/cache
# Create ~/.ssh for storing keys
@@ -67,202 +71,17 @@ before_script:
stages:
- - preprocess
- build-1
- deploy-1
- build-2
- build-3
-ybd-validate-all-definitions:
- stage: preprocess
- script:
- - python spec/quick_check.py .
-
-ybd-build-system-x86_64-chroot-build:
- stage: build-1
- script:
- - ybd/ybd.py systems/build-system-x86_64-chroot.morph x86_64
-
-ybd-build-system-x86_64-chroot-deploy:
- stage: deploy-1
- dependencies:
- - ybd-build-system-x86_64-chroot-build
- script:
- - ybd/ybd.py clusters/build-system-x86_64-chroot-deploy.morph x86_64
- artifacts:
- name: "${CI_BUILD_NAME}-${CI_BUILD_REF}"
- paths:
- - build-system-x86_64-chroot.tar
-
-#build-system-armv7lhf-rootfs-build:
-# stage: build-1
-# script:
-# - sudo ybd/ybd.py systems/build-system-armv7lhf-rootfs.morph armv7lhf
-# tags:
-# - armv7l
-# only:
-# - master
-# - /^staging\/.*$/
-
-ybd-devel-build-64:
- stage: build-2
- script:
- - ybd/ybd.py systems/devel-system-x86_64-generic.morph x86_64
-
-ybd-genivi-baseline-build-64:
- stage: build-2
- script:
- - ybd/ybd.py genivi/systems/genivi-baseline-system-x86_64-generic.morph x86_64
- - ybd/ybd.py systems/initramfs-x86_64.morph x86_64
-
-ybd-genivi-demo-platform-build-64:
- stage: build-3
- script:
- - ybd/ybd.py genivi/systems/genivi-demo-platform-x86_64-generic.morph x86_64
- - ybd/ybd.py systems/initramfs-x86_64.morph x86_64
-
-ybd-ivi-build-64:
- stage: build-3
- script:
- - ybd/ybd.py ivi/systems/ivi-system-x86_64.morph x86_64
- - ybd/ybd.py systems/initramfs-x86_64.morph x86_64
-
-ybd-gnome-build-64:
- stage: build-3
- script:
- - ybd/ybd.py gnome/systems/gnome-system-x86_64.morph x86_64
- - ybd/ybd.py systems/initramfs-x86_64.morph x86_64
-
-ybd-minimal-build-64:
+ybd-build-test:
stage: build-1
script:
- - ybd/ybd.py systems/minimal-system-x86_64-chroot.morph x86_64
-
-ybd-minimal-system-x86_64-chroot-deploy:
- stage: deploy-1
- dependencies:
- - ybd-minimal-build-64
- script:
- - ybd/ybd.py clusters/minimal-system-x86_64-chroot-deploy.morph x86_64
- artifacts:
- name: "${CI_BUILD_NAME}-${CI_BUILD_REF}"
- paths:
- - minimal-system-x86_64-chroot.tar
-
-ybd-trove-build-64:
- stage: build-2
- script:
- - ybd/ybd.py trove/systems/trove-system-x86_64.morph x86_64
-
-ybd-weston-build-64:
- stage: build-2
- script:
- - ybd/ybd.py weston/systems/weston-system-x86_64-generic.morph x86_64
- - ybd/ybd.py systems/initramfs-x86_64.morph x86_64
-
-ybd-weston-qt-build-64:
- stage: build-3
- script:
- - ybd/ybd.py weston/systems/weston-qt5-system-x86_64.morph x86_64
- - ybd/ybd.py systems/initramfs-x86_64.morph x86_64
-
-
-##########################################
-# BuildStream conversions and tests #
-##########################################
-
-# Convert the Baserock definitions to BuildStream format
-bst-convert:
- stage: preprocess
- script:
- # Install YBD and defs2bst
- - |
- if [ ! -d ./ybd ]; then
- git clone https://gitlab.com/baserock/ybd.git
- cd ybd && ./install_dependencies.sh && cd -
- ]; fi
- git clone https://gitlab.com/BuildStream/defs2bst.git
- echo "defs2bst version: $(git -C ./defs2bst rev-parse HEAD)"
- - ./convert
- artifacts:
- paths:
- - elements/
+ - ybd/ybd.py strata/build-essential/stage1-binutils.morph x86_64
-# Test building a common Baserock system
-bst-build-build-system:
+bst-build-test:
stage: build-1
script:
- - scripts/bst-build-or-show systems/build-system-content.bst
-
-# Test building all converted Baserock systems
-bst-build-base-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/base-system-content.bst
-
-bst-build-devel-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/devel-system-content.bst
-
-bst-build-genivi-demo-platform-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/genivi-demo-platform-content.bst
-
-bst-build-gnome-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/gnome-system-content.bst
-
-bst-build-ivi-demo-platform-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/ivi-system-content.bst
-
-bst-build-minimal-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/minimal-system-content.bst
-
-bst-build-openstack-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/openstack-system-content.bst
-
-bst-build-trove-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/trove-system-content.bst
-
-bst-build-weston-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/weston-system-content.bst
-
-bst-build-weston-qt5-system:
- stage: build-2
- script:
- - scripts/bst-build-or-show systems/weston-qt5-system-content.bst
-
-# Test cross building a toolchain and sysroot for each supported non-x86_64
-# architecture.
-bst-build-sysroot-armv8b64:
- stage: build-3
- script:
- - scripts/bst-cross-build-or-show armv8b64 gnu-toolchain/stage2.bst
-
-bst-build-sysroot-armv8l64:
- stage: build-3
- script:
- - scripts/bst-cross-build-or-show armv8l64 gnu-toolchain/stage2.bst
-
-bst-build-sysroot-ppc64b:
- stage: build-3
- script:
- - scripts/bst-cross-build-or-show ppc64b gnu-toolchain/stage2.bst
-
-bst-build-sysroot-ppc64l:
- stage: build-3
- script:
- - scripts/bst-cross-build-or-show ppc64l gnu-toolchain/stage2.bst
+ - scripts/bst-build-or-show gnu-toolchain/stage1-gcc.bst