1.before-my-script: &before-my-script
2    - echo "$ERR_REPORT_USERNAME" > ~/.oe-send-error
3    - echo "$ERR_REPORT_EMAIL" >> ~/.oe-send-error
4    - export PATH=~/.local/bin:$PATH
5    - wget https://bootstrap.pypa.io/get-pip.py
6    - python3 get-pip.py
7    - python3 -m pip install kas
8
9.after-my-script: &after-my-script
10    - cd $CI_PROJECT_DIR/poky
11    - . ./oe-init-build-env $CI_PROJECT_DIR/build
12    - for x in `ls $CI_PROJECT_DIR/build/tmp/log/error-report/ | grep error_report_`; do
13    - send-error-report -y tmp/log/error-report/$x
14    - done
15    - rm -fr $CI_PROJECT_DIR/build
16
17stages:
18  - base
19  - parsec
20  - musl
21  - test
22
23.base:
24  before_script:
25    - *before-my-script
26  stage: base
27  after_script:
28    - *after-my-script
29
30.parsec:
31  before_script:
32    - *before-my-script
33  stage: parsec
34  after_script:
35    - *after-my-script
36
37.musl:
38  before_script:
39    - *before-my-script
40  stage: musl
41  after_script:
42    - *after-my-script
43
44.test:
45  before_script:
46    - *before-my-script
47  stage: test
48  after_script:
49    - *after-my-script
50
51qemux86:
52  extends: .base
53  script:
54  - kas shell kas/$CI_JOB_NAME.yml  -c "bitbake -k security-build-image integrity-image-minimal"
55  - kas build --target security-build-image kas/$CI_JOB_NAME-comp.yml
56  - kas build --target harden-image-minimal kas/$CI_JOB_NAME-harden.yml
57
58qemux86-musl:
59  extends: .musl
60  needs: ['qemux86']
61  script:
62  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
63
64qemux86-parsec:
65  extends: .parsec
66  needs: ['qemux86']
67  script:
68  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
69
70qemux86-test:
71  extends: .test
72  needs: ['qemux86']
73  allow_failure: true
74  script:
75  - kas build --target security-test-image kas/$CI_JOB_NAME.yml
76  - kas build -c testimage --target security-test-image kas/$CI_JOB_NAME.yml
77
78qemux86-64:
79  extends: .base
80  script:
81  - kas shell kas/$CI_JOB_NAME.yml  -c "bitbake -k security-build-image security-tpm-image security-tpm2-image integrity-image-minimal"
82  - kas build --target dm-verity-image-initramfs kas/$CI_JOB_NAME-dm-verify.yml
83  - kas build --target security-build-image kas/$CI_JOB_NAME-alt.yml
84
85qemux86-64-parsec:
86  extends: .parsec
87  needs: ['qemux86-64']
88  script:
89  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
90
91qemuarm:
92  extends: .base
93  script:
94  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
95
96qemuarm-parsec:
97  extends: .parsec
98  needs: ['qemuarm']
99  script:
100  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
101
102qemuarm64:
103  extends: .base
104  script:
105  - kas shell kas/$CI_JOB_NAME.yml  -c "bitbake -k security-build-image security-tpm2-image integrity-image-minimal"
106  - kas build --target security-build-image kas/$CI_JOB_NAME-alt.yml
107
108qemuarm64-musl:
109  extends: .musl
110  needs: ['qemuarm64']
111  script:
112  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
113
114qemuarm64-parsec:
115  extends: .parsec
116  needs: ['qemuarm64']
117  script:
118  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
119
120qemumips64:
121  extends: .base
122  script:
123  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
124
125qemuriscv64:
126  extends: .base
127  script:
128  - kas build --target security-build-image kas/$CI_JOB_NAME.yml
129