110 lines
2.5 KiB
YAML
110 lines
2.5 KiB
YAML
trigger:
|
|
batch: true
|
|
branches:
|
|
include:
|
|
- '*'
|
|
tags:
|
|
include:
|
|
- '*'
|
|
|
|
pr:
|
|
branches:
|
|
include:
|
|
- '*'
|
|
|
|
jobs:
|
|
- job: Build
|
|
displayName: 'Build'
|
|
|
|
strategy:
|
|
matrix:
|
|
Release:
|
|
Gradle: Release
|
|
Suffix: release
|
|
Debug:
|
|
Gradle: Debug
|
|
Suffix: debug
|
|
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
- script: 'echo "##vso[task.setvariable variable=TAG]$(git describe --tags)"'
|
|
displayName: 'Set Variable'
|
|
|
|
- task: Gradle@2
|
|
displayName: 'Build APK'
|
|
inputs:
|
|
gradleWrapperFile: 'gradlew'
|
|
tasks: 'assemble$(Gradle)'
|
|
javaHomeOption: 'JDKVersion'
|
|
|
|
- task: CopyFiles@2
|
|
displayName: 'Copy APK'
|
|
inputs:
|
|
SourceFolder: 'app/build/outputs/apk/'
|
|
Contents: '**/*.apk'
|
|
TargetFolder: '$(Build.ArtifactStagingDirectory)'
|
|
flattenFolders: true
|
|
|
|
- task: Bash@3
|
|
displayName: 'Rename APK'
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: 'mv *.apk gelli-${SUFFIX}-${TAG}.apk'
|
|
workingDirectory: '$(Build.ArtifactStagingDirectory)'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish APK'
|
|
inputs:
|
|
PathToPublish: '$(Build.ArtifactStagingDirectory)'
|
|
ArtifactName: 'gelli-$(SUFFIX)-$(TAG)'
|
|
publishLocation: 'Container'
|
|
|
|
- job: Publish
|
|
displayName: 'Publish'
|
|
|
|
dependsOn: Build
|
|
|
|
strategy:
|
|
matrix:
|
|
Release:
|
|
Suffix: release
|
|
Debug:
|
|
Suffix: debug
|
|
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
- script: 'echo "##vso[task.setvariable variable=TAG]$(git describe --tags)"'
|
|
displayName: 'Set Variable'
|
|
|
|
- task: DownloadBuildArtifacts@0
|
|
displayName: 'Download APK'
|
|
inputs:
|
|
buildType: 'current'
|
|
downloadType: 'single'
|
|
artifactName: 'gelli-$(Suffix)-$(TAG)'
|
|
downloadPath: '$(System.ArtifactsDirectory)'
|
|
|
|
- task: AndroidSigning@3
|
|
displayName: 'Sign APK'
|
|
condition: eq(variables['Suffix'], 'release')
|
|
inputs:
|
|
apkFiles: '$(System.ArtifactsDirectory)/**/*.apk'
|
|
apksignerKeystoreFile: 'KeyStore'
|
|
apksignerKeystorePassword: '$(KeyStorePassword)'
|
|
apksignerKeystoreAlias: 'gelli'
|
|
apksignerKeyPassword: '$(KeyStorePassword)'
|
|
|
|
- task: GithubRelease@0
|
|
displayName: 'Upload APK'
|
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
|
inputs:
|
|
gitHubConnection: github
|
|
repositoryName: dkanada/gelli
|
|
assets: '$(System.ArtifactsDirectory)/**/*.apk'
|
|
action: 'edit'
|
|
assetUploadMode: 'replace'
|
|
tag: '$(TAG)'
|