name: SMB runtime audit activation on: push: branches: ['**'] paths: - 'WELA.ps1' - 'scripts/SmbRuntimeActivation.ps1' - 'scripts/SmbAuditing.ps1' - 'scripts/Configuration.ps1' - 'scripts/WefArrival.ps1' - 'tests/SmbRuntimeActivation*' - '.github/workflows/smb-runtime-activation.yml' pull_request: workflow_dispatch: permissions: contents: read jobs: native-smb-activation: strategy: fail-fast: false matrix: os: [windows-2022, windows-2025] shell: [powershell, pwsh] runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Focused regressions in Windows PowerShell 5.1 if: matrix.shell == 'powershell' shell: powershell run: | ./tests/SmbRuntimeActivation.Tests.ps1 ./tests/SmbRuntimeActivation.Cli.Tests.ps1 - name: Native activation and restoration in Windows PowerShell 5.1 if: matrix.shell == 'powershell' shell: powershell env: WELA_DISPOSABLE_SMB_ACTIVATION: 'true' run: ./tests/SmbRuntimeActivation.Windows.Tests.ps1 - name: Focused regressions in PowerShell 7 if: matrix.shell == 'pwsh' shell: pwsh run: | ./tests/SmbRuntimeActivation.Tests.ps1 ./tests/SmbRuntimeActivation.Cli.Tests.ps1 - name: Native activation and restoration in PowerShell 7 if: matrix.shell == 'pwsh' shell: pwsh env: WELA_DISPOSABLE_SMB_ACTIVATION: 'true' run: ./tests/SmbRuntimeActivation.Windows.Tests.ps1 - name: Retain native evidence if: always() uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: smb-runtime-${{ matrix.os }}-${{ matrix.shell }} path: ${{ runner.temp }}/wela-smb-runtime-*/ if-no-files-found: warn