mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 00:38:21 +00:00
86 lines
2.5 KiB
YAML
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' |