-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbitrise.yml
165 lines (134 loc) · 4.62 KB
/
bitrise.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
---
format_version: '8'
default_step_lib_source: 'https://github.com/bitrise-io/bitrise-steplib.git'
project_type: android
trigger_map:
- push_branch: '*'
workflow: primary
- pull_request_source_branch: '*'
workflow: primary
workflows:
primary:
steps:
- activate-ssh-key@4:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
- git-clone@4: {}
- cache-pull@2: {}
- script@1:
title: Do anything with Script step
inputs:
- content: |-
#!/usr/bin/env bash
# fail if any commands fails
set -e
# debug log
set -x
flavor="Debug"
testFlavor=""
if [[ $BITRISE_GIT_BRANCH =~ 'feature/release' ]]; then
echo "Triggered on release branch, building release flavor"
flavor="Release"
testFlavor=""
else
echo "Triggered on non-release branch, building debug flavor"
flavor="Debug"
testFlavor=$flavor
fi
echo "ANDROID_FLAVOR: ${flavor}"
echo "ANDROID_TEST_FLAVOR: ${testFlavor}"
envman add --key ANDROID_FLAVOR --value "$flavor"
envman add --key ANDROID_TEST_FLAVOR --value "$testFlavor"
# or run a script from your repository, like:
# bash ./path/to/script.sh
# not just bash, e.g.:
# ruby ./path/to/script.rb
- install-missing-android-tools@2:
inputs:
- gradlew_path: $PROJECT_LOCATION/gradlew
- gradle-runner@1:
inputs:
- gradle_task: 'assemble${ANDROID_FLAVOR} assemble${ANDROID_TEST_FLAVOR}AndroidTest'
- gradlew_path: $PROJECT_LOCATION/gradlew
- android-lint@0:
inputs:
- project_location: $PROJECT_LOCATION
- module: $MODULE
- variant: $ANDROID_TEST_FLAVOR
- android-unit-test@1:
inputs:
- project_location: $PROJECT_LOCATION
- module: $MODULE
- variant: $ANDROID_TEST_FLAVOR
- virtual-device-testing-for-android@1:
inputs:
- test_devices: 'Pixel2,26,en,portrait'
- test_type: instrumentation
- deploy-to-bitrise-io@1: {}
release:
description: >
## How to get a signed APK
This workflow contains the **Sign APK** step. To sign your APK all you
have to do is to:
1. Click on **Code Signing** tab
1. Find the **ANDROID KEYSTORE FILE** section
1. Click or drop your file on the upload file field
1. Fill the displayed 3 input fields:
1. **Keystore password**
1. **Keystore alias**
1. **Private key password**
1. Click on **[Save metadata]** button
That's it! From now on, **Sign APK** step will receive your uploaded
files.
## To run this workflow
If you want to run this workflow manually:
1. Open the app's build list page
2. Click on **[Start/Schedule a Build]** button
3. Select **deploy** in **Workflow** dropdown input
4. Click **[Start Build]** button
Or if you need this workflow to be started by a GIT event:
1. Click on **Triggers** tab
2. Setup your desired event (push/tag/pull) and select **deploy** workflow
3. Click on **[Done]** and then **[Save]** buttons
The next change in your repository that matches any of your trigger map
event will start **deploy** workflow.
steps:
- activate-ssh-key@4:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
- git-clone@4: {}
- cache-pull@2: {}
- script@1:
title: Do anything with Script step
- install-missing-android-tools@2:
inputs:
- gradlew_path: $PROJECT_LOCATION/gradlew
- change-android-versioncode-and-versionname@1:
inputs:
- build_gradle_path: $PROJECT_LOCATION/$MODULE/build.gradle
- android-lint@0:
inputs:
- project_location: $PROJECT_LOCATION
- module: $MODULE
- variant: release
- gradle-runner@1:
inputs:
- gradle_task: assembleRelease assembleAndroidTest
- gradlew_path: $PROJECT_LOCATION/gradlew
- deploy-to-bitrise-io@1: {}
- git::https://github.com/koral--/steps-appcenter-deploy-android.git@patch-1:
title: Deploy on AppCenter
inputs:
- api_token: $APPCENTER_API_TOKEN
- app_path: "/bitrise/deploy/app-release.apk"
- owner_name: zsolt.marta-bitrise.io
- app_name: test-app-1
app:
envs:
- opts:
is_expand: false
PROJECT_LOCATION: .
- opts:
is_expand: false
MODULE: app
- opts:
is_expand: false
VARIANT: release