You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-android/.github/workflows/build_and_test.yml

64 lines
1.9 KiB
YAML

name: Build and test
on:
push:
branches: [ "dev", "master" ]
pull_request:
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
fail-fast: false # Continue with other matrix items if one fails
matrix:
variant: [ 'play', 'website', 'huawei' ]
build_type: [ 'debug' ]
include:
- variant: 'huawei'
extra_build_command_options: '-Phuawei=1'
steps:
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- name: Build and test with Gradle
id: build
run: ./gradlew assemble${{ matrix.variant }}${{ matrix.build_type }} test${{ matrix.variant }}${{ matrix.build_type }}UnitTest ${{ matrix.extra_build_command_options }}
- name: Upload build reports regardless
if: always()
uses: actions/upload-artifact@v4
with:
name: build-reports-${{ matrix.variant }}-${{ matrix.build_type }}
path: app/build/reports
if-no-files-found: ignore
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: session-${{ matrix.variant }}-${{ matrix.build_type }}
path: app/build/outputs/apk/${{ matrix.variant }}/${{ matrix.build_type }}/*-universal*apk
if-no-files-found: error
compression-level: 0