tests-windows.yml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. trigger:
  2. - development
  3. - master
  4. - 2.0-cicd
  5. pool:
  6. vmImage: 'windows-latest'
  7. variables:
  8. solution: '**/*.sln'
  9. buildPlatform: 'win-$(arch)'
  10. buildConfiguration: 'Release'
  11. wasiVer: 'wasi-sdk-24.0-$(wasi-arch)-windows'
  12. wasiUrl: 'https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-24/$(wasiVer).tar.gz'
  13. steps:
  14. - task: CmdLine@2
  15. displayName: 'Download WASI SDK'
  16. inputs:
  17. script: |
  18. curl -L -o $(wasiVer).tar.gz $(wasiUrl)
  19. - task: CmdLine@2
  20. displayName: 'Unpack WASI SDK'
  21. inputs:
  22. script: |
  23. tar -xzf $(wasiVer).tar.gz
  24. echo "Contents of directory after extraction:"
  25. dir $(wasiVer)
  26. - task: PowerShell@2
  27. displayName: 'Set Environment Path for WASI SDK'
  28. inputs:
  29. targetType: 'inline'
  30. script: |
  31. $env:WASI_SDK_PATH = "$(Get-Location)\$(wasiVer)"
  32. Write-Host "##vso[task.setvariable variable=WASI_SDK_PATH]$env:WASI_SDK_PATH"
  33. - task: PowerShell@2
  34. displayName: 'Verify Environment Path'
  35. inputs:
  36. targetType: 'inline'
  37. script: |
  38. Write-Host "Environment path set to: $env:WASI_SDK_PATH"
  39. - task: NuGetToolInstaller@1
  40. - task: Cache@2
  41. displayName: Cache dotnet workloads
  42. inputs:
  43. key: 'dotnetWorkloads-windows'
  44. path: 'C:\ProgramData\dotnet\workloads'
  45. - task: DotNetCoreCLI@2
  46. displayName: Install wasi-wasm
  47. inputs:
  48. command: 'custom'
  49. custom: 'workload'
  50. arguments: 'install wasi-experimental'
  51. - task: NuGetCommand@2
  52. displayName: 'Restore solution'
  53. inputs:
  54. restoreSolution: '$(solution)'
  55. - task: DotNetCoreCLI@2
  56. displayName: Build
  57. inputs:
  58. command: 'build'
  59. projects: '**/*.csproj'
  60. arguments: '--configuration Release -r $(buildPlatform)'
  61. - task: DotNetCoreCLI@2
  62. displayName: Tests
  63. inputs:
  64. command: test
  65. projects: '**/*Tests/*.csproj'
  66. arguments: '--configuration $(buildConfiguration) -r $(buildPlatform)'