44 push :
55
66jobs :
7- dtbs :
7+ dt_binding_check :
88 runs-on : ubuntu-latest
99
10- env :
11- ARCH : ${{ matrix.arch }}
12- CROSS_COMPILE : ${{ matrix.cross }}
13- MAKEFLAGS : -j$(nproc)
14- DTB_FILTER : arch/${{ matrix.arch }}/boot/dts/mediatek/mt7*.dtb
10+ steps :
11+ - name : Checkout
12+ uses : actions/checkout@v4
13+
14+ - name : Cache dt-schema
15+ uses : actions/cache@v4
16+ with :
17+ path : |
18+ ~/.cache/dtschema
19+ key : ${{ runner.os }}-dtschema-${{ github.ref_name }}
20+
21+ - name : Install dependencies
22+ run : |
23+ sudo apt update
24+ sudo apt install -y swig yamllint python3-pip python3-venv make
25+
26+ - name : Setup Python venv
27+ run : |
28+ python3 -m venv .venv
29+ source .venv/bin/activate
30+ pip install --upgrade pip
31+ pip install dtschema
32+
33+ - name : Run DT binding check
34+ shell : bash
35+ run : |
36+ set -o pipefail
37+
38+ LOGDIR=logs
39+ mkdir -p $LOGDIR
40+
41+ source .venv/bin/activate
42+
43+ make dt_binding_check \
44+ > >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log) \
45+ 2> >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log \
46+ $LOGDIR/dt_binding_check_${{ matrix.arch }}_stderr.log >&2)
47+
48+ - name : Upload logs
49+ if : always()
50+ uses : actions/upload-artifact@v4
51+ with :
52+ name : dt-binding-logs
53+ path : logs/
54+
55+
56+ dtbs :
57+ needs : dt_binding_check
58+ runs-on : ubuntu-latest
1559
1660 strategy :
1761 fail-fast : false
@@ -26,25 +70,28 @@ jobs:
2670 compiler : gcc-arm-linux-gnueabihf
2771 defconfig : multi_v7_defconfig
2872
73+ env :
74+ ARCH : ${{ matrix.arch }}
75+ CROSS_COMPILE : ${{ matrix.cross }}
76+ MAKEFLAGS : -j$(nproc)
77+ DTB_FILTER : arch/${{ matrix.arch }}/boot/dts/mediatek/mt7*.dtb
78+
2979 steps :
3080 - name : Checkout
3181 uses : actions/checkout@v4
3282
33- # shared cache
83+ # shared cache (nur restore nötig)
3484 - name : Cache dt-schema
3585 uses : actions/cache@v4
3686 with :
37- path : |
38- ~/.cache/dtschema
39- .venv/lib/python*/site-packages/dtschema
40- key : ${{ runner.os }}-dtschema-${{ github.ref_name }}-${{ hashFiles('**/*.yaml') }}
87+ path : ~/.cache/dtschema
88+ key : ${{ runner.os }}-dtschema-${{ github.ref_name }}
4189
42- # arch-specific cache
4390 - name : Cache DTBs
4491 uses : actions/cache@v4
4592 with :
4693 path : arch/${{ matrix.arch }}/boot/dts/
47- key : ${{ runner.os }}-dtbs-${{ matrix.arch }}-${{ github.ref_name }}-${{ hashFiles(format('arch/{0}/**/*.dts', matrix.arch), format('arch/{0}/**/*.dtsi', matrix.arch)) }}
94+ key : ${{ runner.os }}-dtbs-${{ matrix.arch }}-${{ github.ref_name }}
4895
4996 - name : Install dependencies
5097 run : |
@@ -56,27 +103,8 @@ jobs:
56103 - name : Setup Python venv
57104 run : |
58105 python3 -m venv .venv
59- . .venv/bin/activate
60- pip install --upgrade pip
61- pip install dtschema
62-
63- - name : Run DT binding checks
64- shell : bash
65- run : |
66- set -o pipefail
67-
68- LOGDIR=logs
69- mkdir -p $LOGDIR
70-
71106 source .venv/bin/activate
72-
73- # bindings only for arm64 (save time)
74- if [ "${{ matrix.arch }}" = "arm64" ]; then
75- make dt_binding_check \
76- > >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log) \
77- 2> >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log \
78- $LOGDIR/dt_binding_check_${{ matrix.arch }}_stderr.log >&2)
79- fi
107+ pip install dtschema
80108
81109 - name : Run DTBS checks
82110 shell : bash
@@ -101,4 +129,4 @@ jobs:
101129 uses : actions/upload-artifact@v4
102130 with :
103131 name : dtbs-logs-${{ matrix.arch }}
104- path : logs/
132+ path : logs/
0 commit comments