|
@@ -0,0 +1,74 @@
|
|
|
+trigger:
|
|
|
+- development
|
|
|
+- master
|
|
|
+- 2.0-cicd
|
|
|
+
|
|
|
+pool:
|
|
|
+ vmImage: 'ubuntu-latest'
|
|
|
+
|
|
|
+variables:
|
|
|
+ solution: '**/*.sln'
|
|
|
+ buildPlatform: 'linux-$(arch)'
|
|
|
+ buildConfiguration: 'Release'
|
|
|
+ wasiVer: 'wasi-sdk-24.0-$(wasi-arch)-linux'
|
|
|
+ wasiUrl: 'https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-24/$(wasiVer).tar.gz'
|
|
|
+
|
|
|
+steps:
|
|
|
+- task: CmdLine@2
|
|
|
+ displayName: 'Download WASI SDK'
|
|
|
+ inputs:
|
|
|
+ script: |
|
|
|
+ curl -L -o $(wasiVer).tar.gz $(wasiUrl)
|
|
|
+
|
|
|
+- task: CmdLine@2
|
|
|
+ displayName: 'Unpack WASI SDK'
|
|
|
+ inputs:
|
|
|
+ script: |
|
|
|
+ tar -xzf $(wasiVer).tar.gz
|
|
|
+ echo "Contents of directory after extraction:"
|
|
|
+ dir $(wasiVer)
|
|
|
+
|
|
|
+- task: PowerShell@2
|
|
|
+ displayName: 'Set Environment Path for WASI SDK'
|
|
|
+ inputs:
|
|
|
+ targetType: 'inline'
|
|
|
+ script: |
|
|
|
+ $env:WASI_SDK_PATH = "$(Get-Location)\$(wasiVer)"
|
|
|
+ Write-Host "##vso[task.setvariable variable=WASI_SDK_PATH]$env:WASI_SDK_PATH"
|
|
|
+
|
|
|
+- task: PowerShell@2
|
|
|
+ displayName: 'Verify Environment Path'
|
|
|
+ inputs:
|
|
|
+ targetType: 'inline'
|
|
|
+ script: |
|
|
|
+ Write-Host "Environment path set to: $env:WASI_SDK_PATH"
|
|
|
+
|
|
|
+
|
|
|
+- task: NuGetToolInstaller@1
|
|
|
+
|
|
|
+- task: DotNetCoreCLI@2
|
|
|
+ displayName: Install wasi-wasm
|
|
|
+ inputs:
|
|
|
+ command: 'custom'
|
|
|
+ custom: 'workload'
|
|
|
+ arguments: 'install wasi-experimental'
|
|
|
+
|
|
|
+
|
|
|
+- task: NuGetCommand@2
|
|
|
+ displayName: 'Restore solution'
|
|
|
+ inputs:
|
|
|
+ restoreSolution: '$(solution)'
|
|
|
+
|
|
|
+- task: DotNetCoreCLI@2
|
|
|
+ displayName: Build
|
|
|
+ inputs:
|
|
|
+ command: 'build'
|
|
|
+ projects: '**/*.csproj'
|
|
|
+ arguments: '--configuration Release -r $(buildPlatform)'
|
|
|
+
|
|
|
+- task: DotNetCoreCLI@2
|
|
|
+ displayName: Tests
|
|
|
+ inputs:
|
|
|
+ command: test
|
|
|
+ projects: '**/*Tests/*.csproj'
|
|
|
+ arguments: '--configuration $(buildConfiguration)'
|