Skip to content

Fix CI infra

Fix CI infra #116

name: Multiplatform CI
on:
push:
branches: [ main ]
paths:
- .github/actions/*
- .github/workflows/multiplatform_ci.yml
- taskodoro/*
- build.gradle.kts
- settings.gradle.kts
pull_request:
types: [ opened, synchronize, ready_for_review, reopened ]
branches: [ main ]
paths:
- .github/actions/*
- .github/workflows/multiplatform_ci.yml
- taskodoro/*
- build.gradle.kts
- settings.gradle.kts
concurrency:
group: multiplatform-${{ github.ref }}
cancel-in-progress: true
jobs:
static-analysis:
name: Static Analysis
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup Gradle
uses: ./.github/actions/gradle-setup
- name: Run Spotless
run: ./gradlew spotlessCheck --scan
- name: Run Detekt
run: ./gradlew taskodoro:detekt --scan
build:
name: Build
needs: [static-analysis]
runs-on: macos-latest
timeout-minutes: 15
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup Gradle
uses: ./.github/actions/gradle-setup
- name: Build
run: ./gradlew taskodoro:clean taskodoro:assemble
unit-tests:
name: Unit Tests
needs: [build]
runs-on: macos-latest
timeout-minutes: 10
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup Gradle
uses: ./.github/actions/gradle-setup
- name: Run Unit Tests
run: ./gradlew taskodoro:clean taskodoro:allTests