# 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.8, 3.9, '3.10', '3.11', '3.12']
        os: [ubuntu-22.04, macos-11, windows-2022]
        exclude:
        - os: macos-11
          python-version: 3.6
        - os: windows-2022
          python-version: 3.6
    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
