diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e08e8ba --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,40 @@ +name: CI + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + +concurrency: + group: ci-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + check: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest + timeout-minutes: 20 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Run Detekt + run: ./gradlew detekt + + - name: Build shared module + run: ./gradlew :shared:compileAndroidMain + + - name: Run shared tests + run: ./gradlew :shared:allTests + + - name: Build Android debug APK + run: ./gradlew :composeApp:assembleDebug diff --git a/CLAUDE.md b/CLAUDE.md index e290944..431cff1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,13 +13,13 @@ Worn is a Kotlin Multiplatform wardrobe manager app for Android and iOS. Users c ./gradlew :composeApp:assembleDebug # Build shared module -./gradlew :shared:compileKotlinAndroid +./gradlew :shared:compileAndroidMain # Run all shared tests ./gradlew :shared:allTests # Run a single test class -./gradlew :shared:testDebugUnitTest --tests "com.github.worn.repository.WardrobeRepositoryTest" +./gradlew :shared:allTests --tests "com.github.worn.repository.WardrobeRepositoryTest" # Check dependency resolution ./gradlew :shared:dependencies