Files
allwpilib/azure-templates/job-build.yml
Austin Shalit 306720e63e [build] Split build logic into separate files (#2457)
This allows us to share build logic between Azure hosted and WPI hosted hardware.
2020-04-01 21:33:04 -07:00

61 lines
1.7 KiB
YAML

# Job for building
parameters:
jobName: ''
pool:
vmImage: 'Ubuntu 16.04'
container: wpilib2020
preBuild: []
gradleOptions: ''
jdkVersionOption: ''
buildOptions: ''
artifactName: ''
jobs:
- job: ${{ parameters.jobName }}
pool: ${{ parameters.pool }}
${{ if ne(parameters.container, '') }}:
container: ${{ parameters.container }}
workspace:
clean: all
timeoutInMinutes: 0
steps:
- ${{ parameters.preBuild }}
# PR Builds
- ${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) }}:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m ${{ parameters.gradleOptions }}'
${{ if ne(parameters.jdkVersionOption, '') }}:
jdkVersionOption: ${{ parameters.jdkVersionOption }}
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
options: '-PbuildServer ${{ parameters.buildOptions }}'
# Tagged Builds
- ${{ if startsWith(variables['Build.SourceBranch'], 'refs/tags/v') }}:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m ${{ parameters.gradleOptions }}'
${{ if ne(parameters.jdkVersionOption, '') }}:
jdkVersionOption: ${{ parameters.jdkVersionOption }}
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
options: '-PreleaseMode -PbuildServer ${{ parameters.buildOptions }}'
- task: PublishPipelineArtifact@0
inputs:
artifactName: ${{ parameters.artifactName }}
targetPath: 'build/allOutputs'