name: Validation concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: pull_request: push: branches: - master jobs: assemble-android: runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install JDK 17 (Zulu) uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Gradle Cache uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Assemble Debug if: ${{ github.event_name == 'pull_request' }} run: ./gradlew assembleDebug - name: Assemble Release if: ${{ github.event_name == 'push' }} run: ./gradlew assembleRelease detekt: needs: [ 'assemble-android' ] runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install JDK 17 (Zulu) uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Gradle Cache uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Detekt run: ./gradlew detekt test-data: needs: [ 'detekt' ] runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install JDK 17 (Zulu) uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Gradle Cache uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Test run: ./gradlew shared-data:test test-domain: needs: [ 'detekt' ] runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install JDK 17 (Zulu) uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Gradle Cache uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Test run: ./gradlew shared-domain:test test-presentation: needs: [ 'detekt' ] runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install JDK 17 (Zulu) uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Gradle Cache uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - name: Test run: ./gradlew shared-presentation:desktopTest