name: Unit Tests

on:
  push:

jobs:
  lint:
    name: PS Script Analyzer
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: lint
      uses: devblackops/github-action-psscriptanalyzer@master
      with:
        sendComment: false
        settingsPath: lint/PSScriptAnalyser.ps1
        failOnErrors: false
        failOnWarnings: false
        failOnInfos: false
  test:
    runs-on: windows-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Install Pester
      run: |
        Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
        Install-Module -Name Pester -Force -SkipPublisherCheck -AllowClobber
      shell: pwsh

    - name: Run Pester tests
      run: |
        Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
        Invoke-Pester -Path 'pester/*.Tests.ps1' -Output Detailed

      shell: pwsh
      env:
        TEMP: ${{ runner.temp }}