-
Notifications
You must be signed in to change notification settings - Fork 3
133 lines (130 loc) · 4.43 KB
/
static.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
#
# This file is part of Astarte.
#
# Copyright 2024 SECO Mind Srl
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
name: Static
on:
push:
pull_request:
jobs:
clang-format:
runs-on: ubuntu-latest
concurrency:
group: clang-format-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: astarte-device-sdk-zephyr
- name: Set CI manifest as defaults
working-directory: astarte-device-sdk-zephyr
run: mv west-ci.yml west.yml
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: astarte-device-sdk-zephyr
toolchains: x86_64-zephyr-elf
- name: Install Python dependencies
working-directory: astarte-device-sdk-zephyr
run: pip install -r $PWD/scripts/requirements.txt
- name: Check format
working-directory: astarte-device-sdk-zephyr
run: west format --dry-run
interfaces-generation:
runs-on: ubuntu-latest
concurrency:
group: interfaces-generation-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: astarte-device-sdk-zephyr
- name: Set CI manifest as defaults
working-directory: astarte-device-sdk-zephyr
run: mv west-ci.yml west.yml
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: astarte-device-sdk-zephyr
toolchains: x86_64-zephyr-elf
- name: Install Python dependencies
working-directory: astarte-device-sdk-zephyr
run: pip install -r $PWD/scripts/requirements.txt
- name: Check if generated interfaces are up to date
run: west generate-interfaces -c ./astarte-device-sdk-zephyr/samples/astarte_app/interfaces
code-checker:
runs-on: ubuntu-latest
concurrency:
group: code-checker-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: astarte-device-sdk-zephyr
- name: Set CI manifest as defaults
working-directory: astarte-device-sdk-zephyr
run: mv west-ci.yml west.yml
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: astarte-device-sdk-zephyr
toolchains: x86_64-zephyr-elf
- name: Install Python dependencies
working-directory: astarte-device-sdk-zephyr
run: pip install -r $PWD/scripts/requirements.txt
- name: Run clang-tidy
working-directory: astarte-device-sdk-zephyr
run: west static --sample astarte_app
python-checks:
runs-on: ubuntu-latest
concurrency:
group: python-checks-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: astarte-device-sdk-zephyr
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install Python dependencies
working-directory: astarte-device-sdk-zephyr
run: pip install black
- name: Check format for the west extension scripts
working-directory: astarte-device-sdk-zephyr
run: python -m black --line-length 100 --diff --check ./scripts/*.py
- name: Check format for the end to end scripts
working-directory: astarte-device-sdk-zephyr
run: python -m black --line-length 100 --diff --check ./e2e/pytest/*.py