# Copyright (c) 2020 Linaro Limited. # SPDX-License-Identifier: Apache-2.0 name: Zephyr West Command Tests on: push: paths: - 'scripts/west-commands.yml' - 'scripts/west_commands/**' - '.github/workflows/west_cmds.yml' pull_request: 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.6, 3.7, 3.8] os: [ubuntu-latest, macos-latest, windows-latest] exclude: - os: macos-latest python-version: 3.6 steps: - name: checkout uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: cache-pip-linux if: startsWith(runner.os, 'Linux') uses: actions/cache@v1 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@v1 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@v1 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