add gitlab framework and qemu machine

Machines:
qemux86
qemux86-64
qemuarm
qemuarm64
qemuppc
qemumips84
qemuriscv64

Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Armin Kuster
2020-07-17 16:54:41 -07:00
parent f876289913
commit 171c3da430
10 changed files with 161 additions and 0 deletions

56
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,56 @@
stages:
- build
.build:
stage: build
image: crops/poky
before_script:
- export PATH=~/.local/bin:$PATH
- wget https://bootstrap.pypa.io/get-pip.py
- python3 get-pip.py
- python3 -m pip install kas
- wget -q 'https://downloads.rclone.org/rclone-current-linux-amd64.zip'
- unzip -q rclone-current-linux-amd64.zip
- mv rclone-*-linux-amd64/rclone ~/.local/bin/
- rm -rf rclone-*-linux-amd64*
after_script:
- rm -rf build
- ./scripts/ci-cleanup.sh
cache:
paths:
- layers
qemux86:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image
qemux86-64:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image
qemuarm:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image
qemuarm64:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image
qemumppc:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image
qemumips64:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image
qemuriscv64:
extends: .build
script:
- ./scripts/ci-build.sh $CI_JOB_NAME security-build-image

52
kas/kas-security-base.yml Normal file
View File

@@ -0,0 +1,52 @@
header:
version: 8
distro: poky
repos:
meta-security:
poky:
url: https://git.yoctoproject.org/git/poky
refspec: master
layers:
meta:
meta-poky:
meta-yocto-bsp:
meta-openembedded:
url: http://git.openembedded.org/meta-openembedded
refspec: master
layers:
meta-oe:
meta-perl:
meta-python:
meta-networking:
local_conf_header:
meta-security: |
CONF_VERSION = "1"
SOURCE_MIRROR_URL = "http://downloads.yoctoproject.org/mirror/sources/"
SSTATE_MIRRORS = "file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n"
SSTATE_DIR = "/home/srv/sstate/master"
DL_DIR = "/home/srv/downloads/master"
BB_HASHSERVE = "auto"
BB_SIGNATURE_HANDLER = "OEEquivHash"
diskmon: |
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
bblayers_conf_header:
meta-security: |
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""

6
kas/qemuarm.yml Normal file
View File

@@ -0,0 +1,6 @@
header:
version: 8
includes:
- kas-security-base.yml
machine: qemuarm

6
kas/qemuarm64.yml Normal file
View File

@@ -0,0 +1,6 @@
header:
version: 8
includes:
- kas-security-base.yml
machine: qemuarmu64

6
kas/qemuppc.yml Normal file
View File

@@ -0,0 +1,6 @@
header:
version: 8
includes:
- kas-security-base.yml
machine: qemuppc

6
kas/qemuriscv64.yml Normal file
View File

@@ -0,0 +1,6 @@
header:
version: 8
includes:
- kas-security-base.yml
machine: qemuriscv64

6
kas/qemux86-64.yml Normal file
View File

@@ -0,0 +1,6 @@
header:
version: 8
includes:
- kas-security-base.yml
machine: qemux86-64

6
kas/qemux86.yml Normal file
View File

@@ -0,0 +1,6 @@
header:
version: 8
includes:
- kas-security-base.yml
machine: qemux86

10
scripts/ci-build.sh Executable file
View File

@@ -0,0 +1,10 @@
#! /bin/bash
set -e
CONF=$1
shift 1
IMAGES=$@
( kas shell kas/${CONF}.yml -c "bitbake --setscene-only ${IMAGES}" || true ) | sed -e '/^NOTE: .*Started$/d' -e '/^NOTE: Running /d'
kas shell kas/${CONF}.yml -c "bitbake --skip-setscene ${IMAGES}" | sed -e '/^NOTE: .*Started$/d' -e '/^NOTE: Running /d'

7
scripts/ci-cleanup.sh Executable file
View File

@@ -0,0 +1,7 @@
#! /bin/bash
set -e
export SSTATE_CACHE_DIR=/home/srv/sstate/master
./poky/scripts/sstate-cache-management.sh -d -y