# Copyright (c) 2020 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0

name: Twister TestSuite

on:
  push:
    branches:
    - main
    - v*-branch
    paths:
    - 'scripts/pylib/twister/**'
    - 'scripts/twister'
    - 'scripts/tests/twister/**'
    - '.github/workflows/twister_tests.yml'
  pull_request:
    branches:
    - main
    - v*-branch
    paths:
    - 'scripts/pylib/twister/**'
    - 'scripts/twister'
    - 'scripts/tests/twister/**'
    - '.github/workflows/twister_tests.yml'

jobs:
  twister-tests:
    name: Twister Unit Tests
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        python-version: [3.8, 3.9, '3.10', '3.11', '3.12']
        os: [ubuntu-22.04]
    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: install-packages
      run: |
        pip3 install -r scripts/requirements-base.txt -r scripts/requirements-build-test.txt -r scripts/requirements-run-test.txt
    - name: Run pytest for twisterlib
      env:
        ZEPHYR_BASE: ./
        ZEPHYR_TOOLCHAIN_VARIANT: zephyr
      run: |
        echo "Run twister tests"
        PYTHONPATH=./scripts/tests pytest ./scripts/tests/twister
    - name: Run pytest for pytest-twister-harness
      env:
        ZEPHYR_BASE: ./
        ZEPHYR_TOOLCHAIN_VARIANT: zephyr
        PYTHONPATH: ./scripts/pylib/pytest-twister-harness/src:${PYTHONPATH}
      run: |
        echo "Run twister tests"
        pytest ./scripts/pylib/pytest-twister-harness/tests
