# Copyright (c) 2020 Linaro Limited. # Copyright (c) 2020 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 name: Devicetree script tests on: push: branches: - main - v*-branch paths: - 'scripts/dts/**' - '.github/workflows/devicetree_checks.yml' pull_request: branches: - main - v*-branch paths: - 'scripts/dts/**' - '.github/workflows/devicetree_checks.yml' jobs: devicetree-checks: name: Devicetree script tests runs-on: ${{ matrix.os }} strategy: matrix: python-version: ['3.10', '3.11', '3.12'] os: [ubuntu-22.04, macos-14, windows-2022] steps: - name: checkout uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: cache-pip-linux if: startsWith(runner.os, 'Linux') uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ matrix.python-version }} restore-keys: | ${{ runner.os }}-pip-${{ matrix.python-version }} - name: cache-pip-mac if: startsWith(runner.os, 'macOS') uses: actions/cache@v4 with: path: ~/Library/Caches/pip # Trailing '-' was just to get a different cache name key: ${{ runner.os }}-pip-${{ matrix.python-version }}- restore-keys: | ${{ runner.os }}-pip-${{ matrix.python-version }}- - name: cache-pip-win if: startsWith(runner.os, 'Windows') uses: actions/cache@v4 with: path: ~\AppData\Local\pip\Cache key: ${{ runner.os }}-pip-${{ matrix.python-version }} restore-keys: | ${{ runner.os }}-pip-${{ matrix.python-version }} - name: install python dependencies run: | pip3 install wheel pip3 install pytest pyyaml tox - name: run tox working-directory: scripts/dts/python-devicetree run: | tox