mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-24 01:31:46 +00:00
77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
# Stage to combine artifacts into a single output
|
|
|
|
parameters:
|
|
publish: False
|
|
publishUserName: ''
|
|
publishPassword: ''
|
|
artifacts: []
|
|
|
|
stages:
|
|
- stage: Combine
|
|
jobs:
|
|
- job: CombineJob
|
|
pool:
|
|
vmImage: 'macOS-10.14'
|
|
|
|
timeoutInMinutes: 0
|
|
|
|
steps:
|
|
- checkout: none
|
|
|
|
- script: |
|
|
git clone https://github.com/wpilibsuite/build-tools
|
|
displayName: 'Clone Combiner'
|
|
|
|
- ${{ each artifact in parameters.artifacts }}:
|
|
- task: DownloadPipelineArtifact@0
|
|
displayName: 'DownloadPipelineArtifact ${{ artifact }}'
|
|
inputs:
|
|
artifactName: ${{ artifact }}
|
|
targetPath: 'build-tools/combiner/products/build/allOutputs'
|
|
|
|
# PR Builds
|
|
- ${{ if and(ne(variables['Build.SourceBranch'], 'refs/heads/master'), not(startsWith(variables['Build.SourceBranch'], 'refs/tags/v'))) }}:
|
|
- task: Gradle@2
|
|
inputs:
|
|
workingDirectory: 'build-tools/combiner'
|
|
gradleWrapperFile: 'build-tools/combiner/gradlew'
|
|
gradleOptions: '-Xmx3072m'
|
|
tasks: 'publish '
|
|
options: '-Pallwpilib'
|
|
|
|
# Master Builds
|
|
- ${{ if and(parameters.publish, eq(variables['Build.SourceBranch'], 'refs/heads/master')) }}:
|
|
- task: Gradle@2
|
|
inputs:
|
|
workingDirectory: 'build-tools/combiner'
|
|
gradleWrapperFile: 'build-tools/combiner/gradlew'
|
|
gradleOptions: '-Xmx3072m'
|
|
tasks: 'publish '
|
|
options: '-Pallwpilib'
|
|
env:
|
|
RUN_AZURE_ARTIFACTORY_RELEASE: 'TRUE'
|
|
ARTIFACTORY_PUBLISH_USERNAME: $(publishUserName)
|
|
ARTIFACTORY_PUBLISH_PASSWORD: $(publishPassword)
|
|
|
|
# Tagged Builds
|
|
- ${{ if and(parameters.publish, startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) }}:
|
|
- task: Gradle@2
|
|
inputs:
|
|
workingDirectory: 'build-tools/combiner'
|
|
gradleWrapperFile: 'build-tools/combiner/gradlew'
|
|
gradleOptions: '-Xmx3072m'
|
|
tasks: 'publish '
|
|
options: '-Pallwpilib -PreleaseRepoPublish'
|
|
env:
|
|
RUN_AZURE_ARTIFACTORY_RELEASE: 'TRUE'
|
|
ARTIFACTORY_PUBLISH_USERNAME: $(publishUserName)
|
|
ARTIFACTORY_PUBLISH_PASSWORD: $(publishPassword)
|
|
|
|
- script: |
|
|
echo "##vso[task.setvariable variable=UserHome]$HOME"
|
|
displayName: 'Set Home Variable'
|
|
- task: PublishPipelineArtifact@0
|
|
inputs:
|
|
artifactName: 'Maven'
|
|
targetPath: $(UserHome)/releases
|