-
-
Notifications
You must be signed in to change notification settings - Fork 0
119 lines (103 loc) · 3.27 KB
/
ci.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
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2021 Canonical Ltd.
# Copyright (c) 2022 Krzysztof Kozlowski
# Author: Krzysztof Kozlowski <krzk@kernel.org>
name: Linux kernel dtschema
on: [push, pull_request, workflow_dispatch]
jobs:
job_dt_binding_check:
name: dt_binding_check
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
steps:
- name: Git checkout Linux sources
uses: actions/checkout@v2
with:
repository: krzk/linux.git
ref: track/next
path: sources
- name: Install additional packages
run: |
sudo apt update
sudo apt install -y --no-install-recommends build-essential python3-pip libyaml-dev
pip install dtschema yamllint
- name: Make allyesconfig
run: make allyesconfig
working-directory: ./sources
- name: Make dt_binding_check
id: make_dt_binding_check
run: |
(make -j$(nproc) dt_binding_check | tee ../log-dt_binding_check-stdout.log) \
3>&1 1>&2 2>&3 | tee ../log-dt_binding_check-stderr.log
working-directory: ./sources
- name: Look for warnings in dt_binding_check stdout
run: |
grep -C 1 -P '^[^\s]+:\s' log-dt_binding_check-stdout.log || true
if: ${{ always() && ((steps.make_dt_binding_check.outcome == 'failure') ||
(steps.make_dt_binding_check.outcome == 'success')) }}
- name: Print dt_binding_check stderr
run: |
cat log-dt_binding_check-stderr.log
if: ${{ always() && ((steps.make_dt_binding_check.outcome == 'failure') ||
(steps.make_dt_binding_check.outcome == 'success')) }}
job_dtbs_check:
name: dtbs_check
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- config: allyesconfig
env:
ARCH: arm
CROSS_COMPILE: arm-linux-gnueabi-
- config: multi_v4t_defconfig
env:
ARCH: arm
CROSS_COMPILE: arm-linux-gnueabi-
- config: multi_v5_defconfig
env:
ARCH: arm
CROSS_COMPILE: arm-linux-gnueabi-
- config: allyesconfig
env:
ARCH: arm64
CROSS_COMPILE: aarch64-linux-gnu-
- config: allyesconfig
env:
ARCH: mips
CROSS_COMPILE: mips-linux-gnu-
- config: allyesconfig
env:
ARCH: powerpc
CROSS_COMPILE: powerpc-linux-gnu-
- config: allyesconfig
env:
ARCH: riscv
CROSS_COMPILE: riscv64-linux-gnu-
env: ${{ matrix.env }}
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Git checkout Linux sources
uses: actions/checkout@v2
with:
repository: krzk/linux.git
ref: track/next
path: sources
- name: Install additional packages
run: |
./bin/install.ubuntu.sh
pip install dtschema yamllint
- name: Make config
run: make ${{ matrix.config }}
working-directory: ./sources
- name: Make dtbs_check
run: make -j$(nproc) dtbs_check
working-directory: ./sources