-
Notifications
You must be signed in to change notification settings - Fork 35
137 lines (132 loc) · 4.46 KB
/
nightly_master.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
name: "[master]-nightly"
on:
schedule:
- cron: "30 18 * * *"
workflow_dispatch:
jobs:
qemux86:
name: "build"
env:
DISTRO: scatest
PYTHONIOENCODING: utf8
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
BUILD_EXPORT: 1
SCM_BRANCH: master
BUILD_MAXRUNTIME: 21000
runs-on: ubuntu-22.04
strategy:
matrix:
testset: [standard, kernel, cbmc, cppcheck, license]
include:
- testset: standard
BUILD_PARAMFILE: standard
WITH_KERNEL: 1
- testset: kernel
BUILD_PARAMFILE: kernel
WITH_KERNEL: 0
BUILDNTEST_NOSCABOT: 1
- testset: cbmc
BUILD_PARAMFILE: cbmc
WITH_KERNEL: 0
BUILDNTEST_NOSCABOT: 1
- testset: cppcheck
BUILD_PARAMFILE: cppcheck
WITH_KERNEL: 0
BUILDNTEST_NOSCABOT: 1
- testset: license
BUILD_PARAMFILE: license
WITH_KERNEL: 0
BUILDNTEST_NOSCABOT: 1
container:
image: privkweihmann/yocto-sca-minimal:2004
env:
WORKSPACE: /opt/build
TOPDIR: /opt/build
TEMPLATECONF: /opt/build/sources/meta-sca/conf/templates/scatest-qemux86-64/
volumes:
- ${{ github.workspace }}:/opt/build
options: --privileged --user=yoctouser
steps:
- name: setup (container)
uses: priv-kweihmann/meta-sca-ci-utils/preparecontainer@latest
- name: checkout (poky)
uses: priv-kweihmann/meta-sca-ci-utils/addlayer@latest
with:
repo: git://git.yoctoproject.org/poky.git
branch: ${{ env.SCM_BRANCH }}
add-layer: "0"
- name: checkout (meta-sca)
uses: priv-kweihmann/meta-sca-ci-utils/addlayer@latest
with:
repo: https://github.com/priv-kweihmann/meta-sca.git
branch: ${{ env.SCM_BRANCH }}
- name: setup (bitbake config)
uses: priv-kweihmann/meta-sca-ci-utils/addvar@latest
with:
variable: SCA_AVAILABLE_MODULES
value: /opt/build/sources/meta-sca/test/lang_${{ matrix.BUILD_PARAMFILE }}.txt
- name: Get current date
id: date
run: |
echo "date=$(date +'%Y-%m-%d-%H-%M-%S')" >> $GITHUB_OUTPUT
echo "date_month=$(date +'%Y-%m')" >> $GITHUB_OUTPUT
echo "date_day=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: configure (caches)
uses: actions/cache@v3
with:
path: /opt/build/sstate-cache
key: sca-glibc-${{ steps.date.outputs.date }}
restore-keys: |
sca-glibc-${{ steps.date.outputs.date_day }}
sca-glibc-${{ steps.date.outputs.date_month }}
sca-glibc-
- name: activate (caches)
uses: priv-kweihmann/meta-sca-ci-utils/addvar@latest
with:
variable: SSTATE_DIR
value: /opt/build/sstate-cache
- name: build (glibc)
uses: priv-kweihmann/meta-sca-ci-utils/buildstep@latest
with:
target: glibc
- name: build (qemu-system)
uses: priv-kweihmann/meta-sca-ci-utils/buildstep@latest
with:
target: qemu-system-native
- name: build (kernel)
uses: priv-kweihmann/meta-sca-ci-utils/buildstep@latest
if: ${{ matrix.WITH_KERNEL }} == '1'
with:
target: linux-yocto-tiny
- name: build (sca-modules)
uses: priv-kweihmann/meta-sca-ci-utils/buildmodules@latest
with:
parameter-file: ${{ matrix.BUILD_PARAMFILE }}
env:
BUILDNTEST_NOSDK: 1
- name: test (sca results)
uses: priv-kweihmann/meta-sca-ci-utils/testresults@latest
with:
parameter-file: ${{ matrix.BUILD_PARAMFILE }}
env:
BUILDNTEST_NOSCABOT: ${{ matrix.BUILDNTEST_NOSCABOT }}
- if: env.BUILD_EXPORT == '1'
name: checkout (webpage)
uses: priv-kweihmann/meta-sca-ci-utils/addlayer@latest
with:
repo: https://github.com/priv-kweihmann/priv-kweihmann.github.io.git
branch: master
add-layer: "0"
remove-git: "0"
- if: env.BUILD_EXPORT == '1'
name: build (webpage)
uses: priv-kweihmann/meta-sca-ci-utils/exportresults@latest
with:
parameter-file: ${{ matrix.BUILD_PARAMFILE }}
branch: ${{ env.SCM_BRANCH }}
deploy-token: ${{ secrets.WEBDEPLOY }}
- name: print disk usage
if: always()
uses: priv-kweihmann/meta-sca-ci-utils/diskusage@latest