tests-macos.yml 2.1 KB

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