# Copyright (c) 2020 Linaro Limited. # SPDX-License-Identifier: Apache-2.0 name: Zephyr West Command Tests on: push: branches: - main - v*-branch - collab-* paths: - 'scripts/west-commands.yml' - 'scripts/west_commands/**' - '.github/workflows/west_cmds.yml' pull_request: branches: - main - v*-branch - collab-* 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.10', '3.11', '3.12', '3.13'] 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 pytest run: | pip3 install wheel pip3 install pytest west pyelftools canopen natsort progress mypy intelhex psutil ply pyserial anytree - 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