Skip to content

Merge pull request #712 from hannesa2/dependabot/gradle/com.google.de… #753

Merge pull request #712 from hannesa2/dependabot/gradle/com.google.de…

Merge pull request #712 from hannesa2/dependabot/gradle/com.google.de… #753

Workflow file for this run

name: Pull request
on:
push:
branches:
- master
pull_request:
env:
resourceRunID: ${{ github.run_id }}-${{ github.run_number }}
jobs:
Build:
name: Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04 ]
api: [ 34 ]
abi: [ x86_64 ]
emulatorApi: [ 14 ]
tag: [ 'google_apis' ]
# include:
# - os: macOS-latest
# abi: x86_64
# api: 28
# emulatorApi: [ 9 ]
# tag: 'default'
steps:
- name: kvm support
run: |
egrep -c '(vmx|svm)' /proc/cpuinfo
id
sudo adduser $USER kvm
sudo chown -R $USER /dev/kvm
id
- name: run MQTT server
run: |
sudo apt-get install mosquitto mosquitto-clients
echo "=> Subscribe on the background"
mosquitto_sub -t "installtest" -d -i BackgroundClient &
echo "=> Send test message"
mosquitto_pub -m "message from mosquitto_pub ForegroundClient" -t "installtest" -d -i ForegroundClient
echo "=> wait"
sleep 4
- name: prepare
run: |
sudo apt-get update && sudo apt-get install -y exiftool imagemagick xdg-utils libimage-exiftool-perl zsh jq xorg
# brew install exiftool imagemagick
- uses: actions/checkout@v4
with:
submodules: true
- name: set up JDK
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 17
- uses: gradle/actions/wrapper-validation@v4
- name: Install Android SDK
uses: hannesa2/action-android/install-sdk@0.1.16.7
- name: Android Emulator test
uses: hannesa2/action-android/emulator-run-cmd@0.1.16.7
with:
cmd: ./gradlew cAT --continue
api: ${{ matrix.api }}
tag: ${{ matrix.tag }}
abi: ${{ matrix.abi }}
cmdOptions: -noaudio -no-boot-anim -no-window -metrics-collection
bootTimeout: 720
- uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: MQ-Espresso-${{ matrix.api }}-${{ matrix.abi }}-report-${{ matrix.emulatorApi }}
path: |
./**/build/reports/androidTests/connected
./**/build/outputs/androidTest-results/connected
- name: Archive screenshots ${{ matrix.emulatorApi }}
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: MQ-Screenshots-${{ matrix.api }}-${{ matrix.abi }}-${{ matrix.emulatorApi }}
path: |
basicSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
basicSample/build/outputs/androidTest-results/connected
extendedSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
extendedSample/build/outputs/androidTest-results/connected
serviceLibrary/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
serviceLibrary/build/outputs/androidTest-results/connected
- name: Compare screenshots
if: ${{ always() }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
emulatorApi: ${{ matrix.emulatorApi }}
run: |
ls -ls extendedSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected
cp extendedSample/build/outputs/connected_android_test_additional_output/debugAndroidTest/connected/emulator-5554\ -\ ${{ matrix.emulatorApi }}/* screenshotsToCompare${{ matrix.emulatorApi }}
export DISPLAY=:99
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
echo ${{ env.resourceRunID }}
./screenShotCompare.sh ${{ env.resourceRunID }}
- name: Archive screenshots diffs ${{ matrix.emulatorApi }}
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: MQ-Screenshots-diffs-${{ matrix.emulatorApi }}
path: |
screenshotDiffs
screenshotsToCompare${{ matrix.emulatorApi }}/view-*.png
- name: Show git status ${{ matrix.emulatorApi }}
if: ${{ always() }}
run: |
git add screenshotsToCompare${{ matrix.emulatorApi }}
git status
[ "$(git status -s -uno)" ] && exit 1 || exit 0
Check:
name: Check
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04 ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: set up JDK
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 17
- name: Install Android SDK
uses: hannesa2/action-android/install-sdk@0.1.16.7
- name: Run tests
run: ./gradlew test
- name: Kotlin code checks
run: ./gradlew ktlintCheck
- name: Code checks
run: ./gradlew check
- name: Archive Lint report
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: MQTT-Lint-report
path: |
./**/build/reports/lint-results*.html
./**/build/reports/ktlint/ktlintMainSourceSetCheck/ktlintMainSourceSetCheck.txt