# Copyright 2023 Google LLC
# SPDX-License-Identifier: Apache-2.0

name: Scripts tests

on:
  push:
    branches:
      - main
      - v*-branch
    paths:
      - 'scripts/build/**'
      - '.github/workflows/scripts_tests.yml'
  pull_request:
    branches:
      - main
      - v*-branch
    paths:
      - 'scripts/build/**'
      - '.github/workflows/scripts_tests.yml'

jobs:
  scripts-tests:
    name: Scripts tests
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        python-version: [3.8, 3.9, '3.10']
        os: [ubuntu-20.04]
    steps:
      - name: checkout
        uses: actions/checkout@v3
        with:
          ref: ${{ github.event.pull_request.head.sha }}
          fetch-depth: 0

      - name: Rebase
        continue-on-error: true
        env:
          BASE_REF: ${{ github.base_ref }}
          PR_HEAD: ${{ github.event.pull_request.head.sha }}
        run: |
          git config --global user.email "actions@zephyrproject.org"
          git config --global user.name "Github Actions"
          git rebase origin/${BASE_REF}
          git log --graph --oneline HEAD...${PR_HEAD}

      - 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

      - name: Run pytest
        env:
          ZEPHYR_BASE: ./
        run: |
          echo "Run script tests"
          pytest ./scripts/build
