Use DocFX in azure pipelines

This commit is contained in:
Gary Tierney
2019-08-04 23:25:48 +01:00
parent 43acb3798d
commit 8c1258312d
+68 -39
View File
@@ -1,47 +1,76 @@
pool:
vmImage: 'ubuntu-latest'
variables:
GRADLE_USER_HOME: $(Pipeline.Workspace)/.gradle
steps:
- task: CacheBeta@0
inputs:
key: $(Agent.OS)
path: $(GRADLE_USER_HOME)
displayName: "Gradle: setup build cache"
jobs:
- job: game_build
timeoutInMinutes: 15
- task: SonarCloudPrepare@1
inputs:
SonarCloud: 'apollo-rsps-sonarcloud'
organization: 'apollo-rsps'
scannerMode: 'Other'
displayName: "SonarCloud: prepare analysis"
pool:
vmImage: 'ubuntu-latest'
- 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.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'check jacocoTestReport sonarqube'
steps:
- task: CacheBeta@0
inputs:
key: $(Agent.OS)
path: $(GRADLE_USER_HOME)
displayName: "Gradle: setup build cache"
- script: |
./gradlew --stop
displayName: "Gradle: stop daemon"
- task: SonarCloudPrepare@1
inputs:
SonarCloud: 'apollo-rsps-sonarcloud'
organization: 'apollo-rsps'
scannerMode: 'Other'
displayName: "SonarCloud: prepare analysis"
- task: SonarCloudPublish@1
inputs:
pollingTimeoutSec: '300'
displayName: "SonarCloud: publish quality gate"
- 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: |
bash <(curl -s https://codecov.io/bash) -t "${CODECOV_TOKEN}"
env:
CODECOV_TOKEN: $(CODECOV_TOKEN)
displayName: "Codecov: publish coverage"
- 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