Skip to content

Commit fd34515

Browse files
committed
ci: dtbs: update to make dt_binding_check only once than after finish dtbs_check parallel
1 parent 5368f2f commit fd34515

File tree

1 file changed

+62
-34
lines changed

1 file changed

+62
-34
lines changed

.github/workflows/dtbs_check.yml

Lines changed: 62 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,58 @@ on:
44
push:
55

66
jobs:
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

Comments
 (0)