1# Copyright (c) 2020 Linaro Limited.
2# Copyright (c) 2020 Nordic Semiconductor ASA
3# SPDX-License-Identifier: Apache-2.0
4
5name: Devicetree script tests
6
7on:
8  push:
9    branches:
10    - main
11    - v*-branch
12    paths:
13    - 'scripts/dts/**'
14    - '.github/workflows/devicetree_checks.yml'
15  pull_request:
16    branches:
17    - main
18    - v*-branch
19    paths:
20    - 'scripts/dts/**'
21    - '.github/workflows/devicetree_checks.yml'
22
23permissions:
24  contents: read
25
26jobs:
27  devicetree-checks:
28    name: Devicetree script tests
29    runs-on: ${{ matrix.os }}
30    strategy:
31      matrix:
32        python-version: ['3.10', '3.11', '3.12', '3.13']
33        os: [ubuntu-22.04, macos-14, windows-2022]
34    steps:
35    - name: checkout
36      uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
37
38    - name: Set up Python ${{ matrix.python-version }}
39      uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
40      with:
41        python-version: ${{ matrix.python-version }}
42        cache: pip
43        cache-dependency-path: scripts/requirements-actions.txt
44
45    - name: Install Python packages
46      run: |
47        pip install -r scripts/requirements-actions.txt --require-hashes
48
49    - name: run tox
50      working-directory: scripts/dts/python-devicetree
51      run: |
52        tox
53