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
 |