From 4f7342c3310fdaefd86094c8ddf47eaa7aef0a04 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sat, 22 Aug 2020 08:58:40 +0200 Subject: [PATCH] CI with Github actions --- .github/workflows/Android-CI.yml | 72 +++++++++++++++++++ .../workflows/gradle-wrapper-validation.yml | 17 +++++ .travis.yml | 39 ---------- 3 files changed, 89 insertions(+), 39 deletions(-) create mode 100644 .github/workflows/Android-CI.yml create mode 100644 .github/workflows/gradle-wrapper-validation.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/Android-CI.yml b/.github/workflows/Android-CI.yml new file mode 100644 index 00000000..60899f6f --- /dev/null +++ b/.github/workflows/Android-CI.yml @@ -0,0 +1,72 @@ +name: PullRequest + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + buildTest: + name: Build & Test JDK ${{ matrix.java_version }} + runs-on: macOS-latest + strategy: + matrix: + java_version: [1.8] + steps: + - name: Checkout + uses: actions/checkout@v2.3.1 + with: + fetch-depth: 0 + - name: Install JDK ${{ matrix.java_version }} + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java_version }} + - name: Install Android SDK + uses: malinskiy/action-android/install-sdk@release/0.0.7 + - name: Build project + run: ./gradlew assembleDebug + - name: Run tests + run: ./gradlew test + - name: Run instrumentation tests + uses: malinskiy/action-android/emulator-run-cmd@release/0.0.7 + with: + cmd: ./gradlew cAT + api: 28 + tag: default + abi: x86 + - name: Archive Espresso results + uses: actions/upload-artifact@v2.0.1 + with: + name: Fast-Android-Networking-Espresso-report + path: app/build/reports/androidTests/connected + - name: Save logcat output + uses: actions/upload-artifact@master + if: failure() + with: + name: Fast-Android-Networking-logcat + path: artifacts/logcat.log + Check: + name: Check + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.3.1 + with: + fetch-depth: 0 + - name: Install JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Install Android SDK + uses: malinskiy/action-android/install-sdk@release/0.0.7 + - name: Code checks + run: ./gradlew check + - name: Archive Lint report + uses: actions/upload-artifact@v2.0.1 + if: ${{ always() }} + with: + name: Fast-Android-Networking-Lint-report + path: app/build/reports/lint-results.html diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml new file mode 100644 index 00000000..13dca3db --- /dev/null +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -0,0 +1,17 @@ +name: "Validate Gradle Wrapper" + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + validation: + name: "Validation" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: gradle/wrapper-validation-action@v1 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8de325eb..00000000 --- a/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -language: android - -env: - global: - - ADB_INSTALL_TIMEOUT=30 -# Using the new Container-Based Infrastructure - - sudo: false -# Turning off caching to avoid caching Issues - - cache: false -# Initiating clean Gradle output - - TERM=dumb -# Giving even more memory to Gradle JVM - - GRADLE_OPTS="-Xmx2048m -XX:MaxPermSize=1024m" - -android: - components: - - tools - - platform-tools - - build-tools-27.0.3 - - android-27 - - android-24 - - android-23 - - android-22 - - extra-google-google_play_services - - extra-google-m2repository - - extra-android-m2repository - - sys-img-armeabi-v7a-android-22 - -# Emulator Management: Create, Start and Wait -before_script: - - echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a -c 32M - - emulator -avd test -no-audio -no-window & - - android-wait-for-emulator - - sleep 180 - - adb devices - - adb shell input keyevent 82 & - -script: - - ./gradlew connectedAndroidTest