diff --git a/.github/workflows/android-ci-pull.yml b/.github/workflows/android-ci-pull.yml new file mode 100644 index 000000000..b1bb3afe7 --- /dev/null +++ b/.github/workflows/android-ci-pull.yml @@ -0,0 +1,104 @@ +name: android-ci-pull + +on: + workflow_dispatch: + pull_request: + branches: + - master + paths-ignore: + - "parform/ios/**" + - ".github/**" + - "README.md" + +jobs: + build: + runs-on: ubuntu-20.04 + defaults: + run: + working-directory: platform/android + container: + image: ghcr.io/maptiler/android-ndk-r21b + env: + LIBSYSCONFCPUS: 8 + JOBS: 8 + BUILDTYPE: Debug + IS_LOCAL_DEVELOPMENT: false + MBGL_ANDROID_STL: c++_static + steps: + + - uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: npm install + run: npm install --ignore-scripts + working-directory: platform/android + + - name: Prepare ccache + run: ccache --clear + + - name: Cache ccache + uses: actions/cache@v2 + env: + cache-name: ccache-v1 + with: + path: ~/.ccache' + key: ${{ env.cache-name }}-${{ runner.os }}-${{ github.job }}-${{ github.ref }}-${{ github.sha }}-${{ github.head_ref }} + restore-keys: | + ${{ env.cache-name }}-${{ runner.os }}-${{ github.job }}-${{ github.ref }}-${{ github.sha }} + ${{ env.cache-name }}-${{ runner.os }}-${{ github.job }}-${{ github.ref }} + ${{ env.cache-name }}-${{ runner.os }}-${{ github.job }} + + - name: Clear ccache statistics + run: | + ccache --zero-stats + ccache --max-size=2G + ccache --show-stats + + - name: restore-gradle-cache + uses: actions/cache@v2 + env: + cache-name: gradle-v1 + with: + path: ~/.gradle' + key: ${{ env.cache-name }}-{{ hashFiles 'gradle/dependencies.gradle' }}-{{ hashFiles 'build.gradle' }}-{{ hashFiles 'gradle/wrapper/gradle-wrapper.properties' }}' + restore-keys: | + - ${{ env.cache-name }} + + - name: Check code style + run: make android-check + + - name: Run Android unit tests + run: make run-android-unit-test + + - name: Build libmapbox-gl.so for arm-v8 + run: make android-lib-arm-v8 + + - name: Generate Espresso sanity tests + run: make test-code-android + + - name: Store debug artifacts + uses: actions/upload-artifact@v2 + with: + name: debug-artifacts + path: | + MapboxGLAndroidSDKTestApp/build/outputs/apk/debug + MapboxGLAndroidSDK/build/reports/lint-results.html + MapboxGLAndroidSDK/lint-baseline.xml + MapboxGLAndroidSDKTestApp/build/reports/lint-results.html + MapboxGLAndroidSDKTestApp/build/reports/lint-results.xml + MapboxGLAndroidSDKTestApp/lint-baseline.xml + MapboxGLAndroidSDK/build/intermediates/cmake/debug/obj \ No newline at end of file diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml index 12d0ca56d..7491a4f3d 100644 --- a/.github/workflows/android-ci.yml +++ b/.github/workflows/android-ci.yml @@ -11,9 +11,6 @@ on: - "README.md" branches: - master - pull_request: - branches: - - master jobs: build: diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 1aede3820..7b79729e3 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -13,7 +13,11 @@ on: - master pull_request: branches: - - master + - master + paths-ignore: + - "platform/android/**" + - ".github/**" + - "README.md" jobs: build: