✨ Add robust PROPVARIANT handling and PolicyConfig fallback #172
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: [push, pull_request] | |
| jobs: | |
| linter: | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| - run: pip install tox | |
| - run: tox -e lint-check | |
| test: | |
| runs-on: windows-2022 | |
| strategy: | |
| matrix: | |
| python: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Start audio server | |
| run: net start audiosrv | |
| - name: Download virtual audio device (Scream) | |
| timeout-minutes: 3 | |
| env: | |
| VERSION: '4.0' | |
| shell: powershell | |
| run: | | |
| Invoke-WebRequest https://github.com/duncanthrax/scream/releases/download/${{ env.VERSION }}/Scream${{ env.VERSION }}.zip -OutFile Scream${{ env.VERSION }}.zip | |
| Expand-Archive -Path Scream${{ env.VERSION }}.zip -DestinationPath Scream | |
| - name: Disable time sync with Hyper-V & setting system date time | |
| # TODO: Remove the time workaround when virtual audio device certificate is valid again, refs: | |
| # https://github.com/duncanthrax/scream/issues/202 | |
| # Note: Time is only manipulated for driver installation. Download occurs before time manipulation. | |
| run: | | |
| Set-Service -Name vmictimesync -Status stopped -StartupType disabled | |
| Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Parameters -Name 'Type' -Value 'NoSync' | |
| net stop w32time; Set-Date (Get-Date "2023-07-04 12:00:00") | |
| - name: Install virtual audio device (Scream) | |
| timeout-minutes: 3 | |
| env: | |
| VERSION: '4.0' | |
| shell: powershell | |
| run: | | |
| Import-Certificate -FilePath Scream\Install\driver\x64\scream.cat -CertStoreLocation Cert:\LocalMachine\TrustedPublisher | |
| Scream\Install\helpers\devcon-x64.exe install Scream\Install\driver\x64\Scream.inf *Scream | |
| - name: Resetting system date time | |
| run: | | |
| Set-Service -Name vmictimesync -Status running -StartupType automatic | |
| Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Parameters -Name 'Type' -Value 'NTP' | |
| net start w32time; w32tm /resync /force; $currentDate = Get-Date; Write-Host "Current System Date: $currentDate"; | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - run: pip install tox | |
| - run: tox -e py | |
| - name: Run Coverage | |
| if: matrix.python == '3.12' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: tox -e coveralls |