Skip to content
This repository has been archived by the owner on Dec 26, 2023. It is now read-only.

(GH-129) Add integration tests #191

Merged
merged 1 commit into from
Aug 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 172 additions & 2 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,179 @@ pr:
- hotfix/*

jobs:
- job: Windows
# Build
- job: Build
pool:
vmImage: 'windows-2022'
steps:
- powershell: ./build.ps1
displayName: 'Cake Build'
displayName: 'Cake Build'
- publish: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
artifact: NuGet Package
displayName: 'Publish NuGet package as build artifact'
# Integration Tests Windows Server 2019 (.NET Core tool)
- job: Test_Windows_2019_DotNetCoreTool
displayName: Integration Tests Windows Server 2019 (.NET Core tool)
dependsOn: Build
pool:
vmImage: 'windows-2019'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
displayName: 'Install NodeJs 18.x'
- powershell: choco install markdownlint-cli --no-progress
displayName: 'Install required tools'
- download: current
artifact: NuGet Package
displayName: 'Download build artifact'
- task: CopyFiles@2
inputs:
sourceFolder: $(Pipeline.Workspace)/NuGet Package
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
displayName: 'Copy build artifact for test run'
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/
displayName: 'Run integration tests'
- publish: $(Build.SourcesDirectory)/tests/output/report.html
artifact: Integration Tests Windows Server 2019 (.NET Core tool)
displayName: 'Publish generated reports as build artifact'
# Integration Tests Windows Server 2022 (.NET Core tool)
- job: Test_Windows_2022_DotNetCoreTool
displayName: Integration Tests Windows Server 2022 (.NET Core tool)
dependsOn: Build
pool:
vmImage: 'windows-2019'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
displayName: 'Install NodeJs 18.x'
- powershell: choco install markdownlint-cli --no-progress
displayName: 'Install required tools'
- download: current
artifact: NuGet Package
displayName: 'Download build artifact'
- task: CopyFiles@2
inputs:
sourceFolder: $(Pipeline.Workspace)/NuGet Package
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
displayName: 'Copy build artifact for test run'
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/
displayName: 'Run integration tests'
- publish: $(Build.SourcesDirectory)/tests/output/report.html
artifact: Integration Tests Windows Server 2022 (.NET Core tool)
displayName: 'Publish generated reports as build artifact'
# Integration Tests macOS 11 (.NET Core tool)
- job: Test_macOS_11_DotNetCoreTool
displayName: Integration Tests macOS 11 (.NET Core tool)
dependsOn: Build
pool:
vmImage: 'macOS-11'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
displayName: 'Install NodeJs 18.x'
- bash: |
npm install -g markdownlint-cli
displayName: 'Install required tools'
- download: current
artifact: NuGet Package
displayName: 'Download build artifact'
- task: CopyFiles@2
inputs:
sourceFolder: $(Pipeline.Workspace)/NuGet Package
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
displayName: 'Copy build artifact for test run'
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/
displayName: 'Run integration tests'
- publish: $(Build.SourcesDirectory)/tests/output/report.html
artifact: Integration Tests macOS 11 (.NET Core tool)
displayName: 'Publish generated reports as build artifact'
# Integration Tests macOS 12 (.NET Core tool)
- job: Test_macOS_12_DotNetCoreTool
displayName: Integration Tests macOS 12 (.NET Core tool)
dependsOn: Build
pool:
vmImage: 'macOS-12'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
displayName: 'Install NodeJs 18.x'
- bash: |
npm install -g markdownlint-cli
displayName: 'Install required tools'
- download: current
artifact: NuGet Package
displayName: 'Download build artifact'
- task: CopyFiles@2
inputs:
sourceFolder: $(Pipeline.Workspace)/NuGet Package
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
displayName: 'Copy build artifact for test run'
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/
displayName: 'Run integration tests'
- publish: $(Build.SourcesDirectory)/tests/output/report.html
artifact: Integration Tests macOS 12 (.NET Core tool)
displayName: 'Publish generated reports as build artifact'
# Integration Tests Ubuntu 18.04 (.NET Core tool)
- job: Test_ubuntu_18_04_DotNetCoreTool
displayName: Integration Tests Ubuntu 18.04 (.NET Core tool)
dependsOn: Build
pool:
vmImage: 'ubuntu-18.04'
steps:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install NodeJs 16.x'
- bash: |
npm install -g markdownlint-cli
displayName: 'Install required tools'
- download: current
artifact: NuGet Package
displayName: 'Download build artifact'
- task: CopyFiles@2
inputs:
sourceFolder: $(Pipeline.Workspace)/NuGet Package
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
displayName: 'Copy build artifact for test run'
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/
displayName: 'Run integration tests'
- publish: $(Build.SourcesDirectory)/tests/output/report.html
artifact: Integration Tests Ubuntu 18.04 (.NET Core tool)
displayName: 'Publish generated reports as build artifact'
# Integration Tests Ubuntu 20.04 (.NET Core tool)
- job: Test_ubuntu_20_04_DotNetCoreTool
displayName: Integration Tests Ubuntu 20.04 (.NET Core tool)
dependsOn: Build
pool:
vmImage: 'ubuntu-20.04'
steps:
- task: NodeTool@0
inputs:
versionSpec: '18.x'
displayName: 'Install NodeJs 18.x'
- bash: |
npm install -g markdownlint-cli
displayName: 'Install required tools'
- download: current
artifact: NuGet Package
displayName: 'Download build artifact'
- task: CopyFiles@2
inputs:
sourceFolder: $(Pipeline.Workspace)/NuGet Package
targetFolder: $(Build.SourcesDirectory)/BuildArtifacts/Packages/NuGet
displayName: 'Copy build artifact for test run'
- powershell: ./build.ps1 --verbosity=diagnostic
workingDirectory: ./tests/
displayName: 'Run integration tests'
- publish: $(Build.SourcesDirectory)/tests/output/report.html
artifact: Integration Tests Ubuntu 20.04 (.NET Core tool)
displayName: 'Publish generated reports as build artifact'
12 changes: 12 additions & 0 deletions tests/.config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"cake.tool": {
"version": "2.0.0",
"commands": [
"dotnet-cake"
]
}
}
}
Loading