Files
apollo/azure-pipelines.yml
T
2019-08-05 01:00:01 +01:00

86 lines
2.5 KiB
YAML

variables:
GRADLE_USER_HOME: $(Pipeline.Workspace)/.gradle
jobs:
- job: game_build
timeoutInMinutes: 15
pool:
vmImage: 'ubuntu-latest'
steps:
- task: CacheBeta@0
inputs:
key: $(Agent.OS)
path: $(GRADLE_USER_HOME)
displayName: "Gradle: setup build cache"
- task: SonarCloudPrepare@1
inputs:
SonarCloud: 'apollo-rsps-sonarcloud'
organization: 'apollo-rsps'
scannerMode: 'Other'
displayName: "SonarCloud: prepare analysis"
- task: Gradle@2
displayName: "Gradle: build"
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m -Dorg.gradle.parallel=true -Dorg.gradle.caching=true -Dsonar.host.url=https://sonarcloud.io'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'check jacocoTestReport sonarqube'
- script: |
./gradlew --stop
displayName: "Gradle: stop daemon"
- task: SonarCloudPublish@1
inputs:
pollingTimeoutSec: '300'
displayName: "SonarCloud: publish quality gate"
- script: |
bash <(curl -s https://codecov.io/bash) -t "${CODECOV_TOKEN}"
env:
CODECOV_TOKEN: $(CODECOV_TOKEN)
displayName: "Codecov: publish coverage"
- job: docs_build
pool:
vmImage: 'windows-2019'
steps:
- task: Gradle@2
displayName: "Gradle: generate API docs"
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m -Dorg.gradle.parallel=true -Dorg.gradle.caching=true -Dsonar.host.url=https://sonarcloud.io'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
jdkArchitectureOption: 'x64'
tasks: 'generateApiDocs'
- task: CmdLine@1
displayName: 'Chocolatey: install DocFX'
inputs:
filename: choco
arguments: 'install docfx -y'
- task: CmdLine@1
displayName: 'DocFX: generate documentation'
inputs:
filename: docfx
arguments: docs/docfx.json
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: docs/_site
includeRootFolder: false
archiveFile: '$(Build.ArtifactStagingDirectory)/docs.zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(Build.ArtifactStagingDirectory)/docs.zip'
artifactName: 'docs.zip'