forked from FSEmbedded/meta-fus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
48 lines (46 loc) · 1.67 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
image: ghcr.io/siemens/kas/kas:4.1
variables:
CACHE_DIR: /persistent/u-boot-fus
BBBUILD_DIR: "$CI_PROJECT_DIR/build"
IMAGE_DIR: "$BBBUILD_DIR/work/build/tmp/deploy/images"
stages:
- build
- upload
build:
variables:
BB_NUMBER_THREADS: "4"
PARALLEL_MAKE: "-j 8"
DL_DIR: "$CACHE_DIR/work/downloads"
SSTATE_DIR: "$CACHE_DIR/work/sstate-cache"
TOOLCHAIN_DIR: "$CACHE_DIR/toolchains"
KAS_WORK_DIR: "$BBBUILD_DIR/work"
KAS_REPO_REF_DIR: "$CACHE_DIR/repos"
stage: build
artifacts:
when: always
paths:
- artifacts
interruptible: true
tags:
- yocto:kirkstone
script:
- |
export BUILD_OUTPUT_DIR=$IMAGE_DIR/$(cat "$CI_PROJECT_DIR/.runner/uboot.yml" | grep "machine: " | awk -F ': ' '{print $2}')
- echo BUILD_OUTPUT_DIR = $BUILD_OUTPUT_DIR
- echo KAS_WORK_DIR = $KAS_WORK_DIR
- echo SSTATE_DIR = $SSTATE_DIR
- echo DL_DIR = $DL_DIR
- echo BBBUILD_DIR = $BBBUILD_DIR
- echo "-----------------------------"
- echo $BUILD_OUTPUT_DIR > output_dir
- mkdir -p $KAS_WORK_DIR
- sed -i "s|!!!REPLACE_ME!!!|$CI_PROJECT_DIR|g" "$CI_PROJECT_DIR/.runner/uboot.yml"
- cd $BBBUILD_DIR
- sudo DEBIAN_FRONTEND=noninteractive apt update && sudo DEBIAN_FRONTEND=noninteractive apt install -y xxd libarchive-zip-perl
- kas build "$CI_PROJECT_DIR/.runner/uboot.yml"
- echo "Building done"
after_script:
- export BUILD_OUTPUT_DIR=$(cat output_dir)
- mkdir artifacts
- if [[ "$CI_JOB_STATUS" == "success" ]]; then mv $BUILD_OUTPUT_DIR/* ./artifacts; else find $KAS_WORK_DIR/ -type f -path "$KAS_WORK_DIR/build/tmp*/work*/**/temp/log.do_*.*" -exec mv -t ./artifacts {} + ; fi
- rm output_dir