44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
name: Test
|
|
on:
|
|
push:
|
|
branches: ["**"]
|
|
paths: ["Elwig/**", "Tests/**", "Installer/Files/*.exe", ".gitea/workflows/test.yaml"]
|
|
jobs:
|
|
test:
|
|
name: Run tests
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Check for Byte order marks
|
|
shell: powershell
|
|
run: |
|
|
$pattern = [char]::ConvertFromUtf32(0xFEFF)
|
|
$files = git grep -IEl "^$pattern"
|
|
if ( $lastexitcode -ne 1 ) {
|
|
echo "Files with BOM found:"
|
|
echo $files
|
|
exit 1
|
|
} else {
|
|
echo "No files with BOM found"
|
|
exit 0
|
|
}
|
|
- name: Setup MSBuild
|
|
uses: microsoft/setup-msbuild@v1.1
|
|
- name: Setup NuGet
|
|
uses: nuget/setup-nuget@v1
|
|
- name: Restore NuGet packages
|
|
shell: powershell
|
|
run: $(& nuget restore Elwig.sln; $a=$lastexitcode) | findstr x*; exit $a
|
|
- name: Build Elwig
|
|
shell: powershell
|
|
run: $(& msbuild -verbosity:quiet Elwig/Elwig.csproj -property:Configuration=Debug; $a=$lastexitcode) | findstr x*; exit $a
|
|
- name: Build Tests
|
|
shell: powershell
|
|
run: $(& dotnet build Tests; $a=$lastexitcode) | findstr x*; exit $a
|
|
- name: Run Tests
|
|
shell: powershell
|
|
run: |
|
|
$env:PATH = "$(pwd)\Installer\Files;" + $env:PATH
|
|
$(& dotnet test Tests --filter "FullyQualifiedName!~E2ETests"; $a=$lastexitcode) | findstr x*; exit $a
|