# Copyright (c) 2020 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0

name: Zephyr West Command Tests

on:
  push:
    branches:
    - main
    - v*-branch
    paths:
    - 'scripts/west-commands.yml'
    - 'scripts/west_commands/**'
    - '.github/workflows/west_cmds.yml'
  pull_request:
    branches:
    - main
    - v*-branch
    paths:
    - 'scripts/west-commands.yml'
    - 'scripts/west_commands/**'
    - '.github/workflows/west_cmds.yml'

jobs:
  west-commnads:
    name: West Command Tests
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        python-version: [3.8, 3.9, '3.10']
        os: [ubuntu-20.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@v3
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}
    - name: cache-pip-linux
      if: startsWith(runner.os, 'Linux')
      uses: actions/cache@v3
      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@v3
      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@v3
      with:
        path: ~\AppData\Local\pip\Cache
        key: ${{ runner.os }}-pip-${{ matrix.python-version }}
        restore-keys: |
          ${{ runner.os }}-pip-${{ matrix.python-version }}
    - name: install pytest
      run: |
        pip3 install wheel
        pip3 install pytest west pyelftools canopen progress mypy intelhex psutil
    - name: run pytest-win
      if: runner.os == 'Windows'
      run: |
        python ./scripts/west_commands/run_tests.py
    - name: run pytest-mac-linux
      if: runner.os != 'Windows'
      run: |
        ./scripts/west_commands/run_tests.py
