-
Notifications
You must be signed in to change notification settings - Fork 71
134 lines (106 loc) · 3.34 KB
/
dtbs_check.yml
File metadata and controls
134 lines (106 loc) · 3.34 KB
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
name: DTBS Check
on:
push:
jobs:
dt_binding_check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache dt-schema
uses: actions/cache@v4
with:
path: |
~/.cache/dtschema
key: ${{ runner.os }}-dtschema-${{ github.ref_name }}
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y swig yamllint python3-pip python3-venv make
- name: Setup Python venv
run: |
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install dtschema
- name: Run DT binding check
shell: bash
run: |
set -o pipefail
LOGDIR=logs
mkdir -p $LOGDIR
source .venv/bin/activate
make dt_binding_check \
> >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log) \
2> >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log \
$LOGDIR/dt_binding_check_${{ matrix.arch }}_stderr.log >&2)
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: dt-binding-logs
path: logs/
dtbs:
needs: dt_binding_check
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- arch: arm64
cross: aarch64-linux-gnu-
compiler: gcc-aarch64-linux-gnu
defconfig: defconfig
- arch: arm
cross: arm-linux-gnueabihf-
compiler: gcc-arm-linux-gnueabihf
defconfig: multi_v7_defconfig
env:
ARCH: ${{ matrix.arch }}
CROSS_COMPILE: ${{ matrix.cross }}
MAKEFLAGS: -j2
DTB_FILTER: arch/${{ matrix.arch }}/boot/dts/mediatek/mt7*.dtb
steps:
- name: Checkout
uses: actions/checkout@v4
# shared cache (nur restore nötig)
- name: Cache dt-schema
uses: actions/cache@v4
with:
path: ~/.cache/dtschema
key: ${{ runner.os }}-dtschema-${{ github.ref_name }}
- name: Cache DTBs
uses: actions/cache@v4
with:
path: arch/${{ matrix.arch }}/boot/dts/
key: ${{ runner.os }}-dtbs-${{ matrix.arch }}-${{ github.ref_name }}
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y \
swig yamllint python3-pip python3-venv \
make ${{ matrix.compiler }}
- name: Setup Python venv
run: |
python3 -m venv .venv
source .venv/bin/activate
pip install dtschema
- name: Run DTBS checks
shell: bash
run: |
set -o pipefail
LOGDIR=logs
mkdir -p $LOGDIR
source .venv/bin/activate
make ${{ matrix.defconfig }} \
2>&1 | tee $LOGDIR/defconfig_${{ matrix.arch }}.log
make dtbs_check DTB_FILES="$DTB_FILTER" \
> >(tee $LOGDIR/dtbs_check_${{ matrix.arch }}.log) \
2> >(tee $LOGDIR/dtbs_check_${{ matrix.arch }}.log \
$LOGDIR/dtbs_check_${{ matrix.arch }}_stderr.log >&2)
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: dtbs-logs-${{ matrix.arch }}
path: logs/