Skip to content

Commit 954cb54

Browse files
authored
Merge pull request android#38 from android/github-actions
Add GitHub Actions workflow
2 parents 41885fe + 45ed6c3 commit 954cb54

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed

.github/scripts/gradlew_recursive.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
3+
# Copyright (C) 2020 The Android Open Source Project
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -xe
18+
19+
# Default Gradle settings are not optimal for Android builds, override them
20+
# here to make the most out of the GitHub Actions build servers
21+
GRADLE_OPTS="$GRADLE_OPTS -Xms4g -Xmx4g"
22+
GRADLE_OPTS="$GRADLE_OPTS -XX:+HeapDumpOnOutOfMemoryError"
23+
GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.daemon=false"
24+
GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.workers.max=2"
25+
GRADLE_OPTS="$GRADLE_OPTS -Dkotlin.incremental=false"
26+
GRADLE_OPTS="$GRADLE_OPTS -Dkotlin.compiler.execution.strategy=in-process"
27+
GRADLE_OPTS="$GRADLE_OPTS -Dfile.encoding=UTF-8"
28+
export GRADLE_OPTS
29+
30+
# Crawl all gradlew files which indicate an Android project
31+
# You may edit this if your repo has a different project structure
32+
for GRADLEW in `find . -name "gradlew"` ; do
33+
SAMPLE=$(dirname "${GRADLEW}")
34+
# Tell Gradle that this is a CI environment and disable parallel compilation
35+
bash "$GRADLEW" -p "$SAMPLE" -Pci --no-parallel --stacktrace $@
36+
done

.github/workflows/android.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Copyright (C) 2020 The Android Open Source Project
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Android CI
16+
17+
on:
18+
push:
19+
branches: [ master ]
20+
pull_request:
21+
branches: [ master ]
22+
23+
jobs:
24+
25+
build:
26+
name: Build
27+
runs-on: ubuntu-18.04
28+
29+
steps:
30+
- uses: actions/checkout@v1
31+
- name: set up JDK 1.8
32+
uses: actions/setup-java@v1
33+
with:
34+
java-version: 1.8
35+
- name: Build project
36+
run: .github/scripts/gradlew_recursive.sh assembleDebug
37+
- name: Zip artifacts
38+
run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
39+
- name: Upload artifacts
40+
uses: actions/upload-artifact@v1
41+
with:
42+
name: assemble
43+
path: assemble.zip

0 commit comments

Comments
 (0)