fluentui-android/azure-maven-central-pipelin...

88 строки
3.6 KiB
YAML

variables:
- group: InfoSec-SecurityResults
- name: tags
value: production,externalfacing
jobs:
- template: fluentui-android-compliance.yml
- job: Build
pool:
vmImage: ubuntu-latest
variables:
- name: BUILDSECMON_OPT_IN
value: true
steps:
- task: Bash@3
displayName: 'Base64 decodes and pipes the GPG key content into the secret file'
env:
GPG_KEY_CONTENT: $(gpgContent)
SIGNING_SECRET_KEY_RING_FILE: $(gpgSecretFilePath)
inputs:
targetType: 'inline'
script: |
# Write your commands here
sudo bash -c "echo '$GPG_KEY_CONTENT' | base64 -d > '$SIGNING_SECRET_KEY_RING_FILE'"
ls
- task: Gradle@3
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'build'
options: '-PappCenterSecret=$(appCenterSecret) -PsigningKeyPassword=$(signingKeyPassword) -PsigningKeyStorePassword=$(signingKeyStorePassword)'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
jdkVersionOption: '$(jdkVersion)'
sonarQubeRunAnalysis: false
spotBugsAnalysis: false
- task: Gradle@2
displayName: Generate testApk
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'assembleDevelopmentDebugAndroidTest'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
jdkVersionOption: '$(jdkVersion)'
sonarQubeRunAnalysis: false
spotBugsAnalysis: false
- task: Gradle@2
displayName: Hydra Lab UI test
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'requestHydraLabTest -PappPath=$(build.sourcesdirectory)/FluentUI.Demo/build/outputs/apk/development/debug/FluentUI.Demo-development-debug.apk -PtestAppPath=$(build.sourcesdirectory)/FluentUI.Demo/build/outputs/apk/androidTest/development/debug/FluentUI.Demo-development-debug-androidTest.apk -PbuildFlavor=$(buildFlavor) -PtestSuiteName=$(testSuiteName) -PrunTimeOutSeconds=$(timeOutSeconds) -PdeviceIdentifier=$(deviceIdentifier) -PgroupTestType=$(groupTestType) -PreportAudience=TestLabOwner -PauthToken=$(authToken) -PpkgName=$(pkgName) -PtestPkgName=$(testPkgName) -PrunningType=$(runningType) -PframeworkType=$(frameworkType) -PhydraLabAPIHost=$(hydraLabAPIHost) -PhydraLabAPISchema=$(hydraLabAPISchema)'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '$(jdkVersion)'
publishJUnitResults: false
- task: Gradle@2
displayName: 'generate artifacts and publish to feed'
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'publish'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '$(jdkVersion)'
options: '-PGPGSigningKeyID=$(gpgSignKey) -PGPGSigningPassword=$(gpgSignPassword) -PSigningSecretKeyRingFile=$(gpgSecretFileParentPath) -PmavenUserName=$(mavenUsername) -PmavenPassword=$(mavenPassword)'
- task: PublishPipelineArtifact@1
displayName: 'Publish artifacts to pipeline'
inputs:
targetPath: '$(build.sourcesdirectory)/build/artifacts/com/microsoft/fluentui'
artifact: 'Build'
publishLocation: 'pipeline'
- task: PublishPipelineArtifact@1
displayName: 'Publish dogfood apk to pipeline'
inputs:
targetPath: '$(build.sourcesdirectory)/FluentUI.Demo/build/outputs/apk/dogfood/release/FluentUI.Demo-dogfood-release.apk'
artifact: 'dogfood'
publishLocation: 'pipeline'
- task: PublishPipelineArtifact@1
displayName: 'Publish release notes to pipeline'
inputs:
targetPath: '$(build.sourcesdirectory)/dogfood-release-notes.txt'
artifact: 'notes'
publishLocation: 'pipeline'