Skip to content

Commit ff2ed95

Browse files
authored
Refac: Added reusable workflow to avoid writing repeated lines (#414)
- Added build.yml file containing build setup and commands option
1 parent 1e4cae2 commit ff2ed95

File tree

2 files changed

+63
-57
lines changed

2 files changed

+63
-57
lines changed

.github/workflows/android.yml

Lines changed: 21 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,9 @@ jobs:
6969
echo "$GITHUB_CONTEXT"
7070
home/runner/travisci-tools/trigger-script-with-status-update.sh
7171
build:
72-
runs-on: ubuntu-latest
73-
steps:
74-
- uses: actions/checkout@v2
75-
- name: set up JDK 11
76-
uses: actions/setup-java@v2
77-
with:
78-
java-version: '11'
79-
distribution: 'temurin'
80-
cache: gradle
81-
- name: Grant execute permission for gradlew
82-
run: chmod +x gradlew
83-
- name: Clean all modules
84-
run: ./gradlew cleanAllModules
85-
- name: Build with Gradle
86-
run: ./gradlew build
72+
uses: optimizely/android-sdk/.github/workflows/build.yml@master
73+
with:
74+
action: build
8775
test:
8876
runs-on: macos-latest
8977
strategy:
@@ -93,23 +81,19 @@ jobs:
9381
steps:
9482
- name: checkout
9583
uses: actions/checkout@v2
96-
9784
- name: set up JDK 11
9885
uses: actions/setup-java@v1
9986
with:
10087
java-version: 11
101-
10288
- name: Grant execute permission for gradlew
10389
run: chmod +x gradlew
104-
10590
- name: Gradle cache
10691
uses: actions/cache@v2
10792
with:
10893
path: |
10994
~/.gradle/caches
11095
~/.gradle/wrapper
11196
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }}
112-
11397
- name: AVD cache
11498
uses: actions/cache@v2
11599
id: avd-cache
@@ -140,44 +124,24 @@ jobs:
140124
script: ./gradlew testAllModulesTravis
141125
publish:
142126
if: startsWith(github.ref, 'refs/tags/v')
143-
runs-on: ubuntu-latest
144-
steps:
145-
- uses: actions/checkout@v2
146-
- name: Set env
147-
run: echo "TRAVIS_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
148-
- name: set up JDK 11
149-
uses: actions/setup-java@v2
150-
with:
151-
java-version: '11'
152-
distribution: 'temurin'
153-
cache: gradle
154-
- name: Grant execute permission for gradlew
155-
run: chmod +x gradlew
156-
- name: Ship
157-
env:
158-
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
159-
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
160-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
161-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
162-
run: TRAVIS_TAG=${{ env.TRAVIS_TAG }} ./gradlew ship
127+
uses: optimizely/android-sdk/.github/workflows/build.yml@master
128+
with:
129+
action: ship
130+
travis_tag: ${GITHUB_REF#refs/*/}
131+
secrets:
132+
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
133+
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
134+
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
135+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
163136

164137
snapshot:
165138
if: ${{ github.event.inputs.SNAPSHOT == 'true' && github.event_name == 'workflow_dispatch' }}
166-
runs-on: ubuntu-latest
167-
steps:
168-
- uses: actions/checkout@v2
169-
- name: set up JDK 11
170-
uses: actions/setup-java@v2
171-
with:
172-
java-version: '11'
173-
distribution: 'temurin'
174-
cache: gradle
175-
- name: Grant execute permission for gradlew
176-
run: chmod +x gradlew
177-
- name: Ship
178-
env:
179-
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
180-
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
181-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
182-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
183-
run: TRAVIS_TAG=BB-SNAPSHOT ./gradlew ship
139+
uses: optimizely/android-sdk/.github/workflows/build.yml@master
140+
with:
141+
action: ship
142+
travis_tag: BB-SNAPSHOT
143+
secrets:
144+
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
145+
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
146+
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
147+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}

.github/workflows/build.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Reusable action of building snapshot and publish
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
action:
7+
required: true
8+
type: string
9+
travis_tag:
10+
required: false
11+
type: string
12+
secrets:
13+
MAVEN_SIGNING_KEY_BASE64:
14+
required: false
15+
MAVEN_SIGNING_PASSPHRASE:
16+
required: false
17+
MAVEN_CENTRAL_USERNAME:
18+
required: false
19+
MAVEN_CENTRAL_PASSWORD:
20+
required: false
21+
jobs:
22+
run_build:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v2
26+
- name: set up JDK 11
27+
uses: actions/setup-java@v2
28+
with:
29+
java-version: '11'
30+
distribution: 'temurin'
31+
cache: gradle
32+
- name: Grant execute permission for gradlew
33+
run: chmod +x gradlew
34+
- name: Clean all modules
35+
run: ./gradlew cleanAllModules
36+
- name: ${{ inputs.action }}
37+
env:
38+
MAVEN_SIGNING_KEY_BASE64: ${{ secrets.MAVEN_SIGNING_KEY_BASE64 }}
39+
MAVEN_SIGNING_PASSPHRASE: ${{ secrets.MAVEN_SIGNING_PASSPHRASE }}
40+
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
41+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
42+
run: TRAVIS_TAG=${{ inputs.travis_tag }} ./gradlew ${{ inputs.action }}

0 commit comments

Comments
 (0)