From 6042b80a7a15bd2dd5abb6b265c82291cb424a4b Mon Sep 17 00:00:00 2001 From: dkanada Date: Sun, 14 Jun 2020 17:03:28 +0900 Subject: [PATCH] add build and publish jobs for azure --- azure.yml | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 2 deletions(-) diff --git a/azure.yml b/azure.yml index b788c930..27bbfb54 100644 --- a/azure.yml +++ b/azure.yml @@ -16,9 +16,95 @@ jobs: - job: Build displayName: 'Build' + strategy: + matrix: + Release: + Gradle: Release + Suffix: release + Debug: + Gradle: Debug + Suffix: debug + pool: vmImage: 'ubuntu-latest' steps: - - script: 'echo hello world' - displayName: 'Initial Commit' + - 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)'