Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 0 additions & 31 deletions .github/workflows/build.yml

This file was deleted.

75 changes: 75 additions & 0 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: CI Build

on:
push:
branches: [main]
pull_request:
branches: [main]
merge_group:

jobs:
build-library:
name: Build Library (JDK ${{ matrix.java_version }})
runs-on: macOS-latest
timeout-minutes: 10

strategy:
matrix:
java_version: [17]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK ${{ matrix.java_version }}
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java_version }}
cache: 'gradle'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build library
run: ./gradlew :cropper:assembleDebug :cropper:assembleRelease --stacktrace

- name: Upload library artifacts
uses: actions/upload-artifact@v4
with:
name: library-aar
path: cropper/build/outputs/aar/*.aar
retention-days: 7

build-sample:
name: Build Sample App (JDK ${{ matrix.java_version }})
runs-on: macOS-latest
timeout-minutes: 10

strategy:
matrix:
java_version: [17]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK ${{ matrix.java_version }}
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java_version }}
cache: 'gradle'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build sample debug APK
run: ./gradlew :sample:assembleDebug --stacktrace

- name: Upload sample APK
uses: actions/upload-artifact@v4
with:
name: sample-apk
path: sample/build/outputs/apk/debug/*.apk
retention-days: 7
131 changes: 131 additions & 0 deletions .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: CI Tests

on:
push:
branches: [main]
pull_request:
branches: [main]
merge_group:

jobs:
license-check:
name: License Check
runs-on: macOS-latest
timeout-minutes: 5

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run licensee
run: ./gradlew licensee --stacktrace

ktlint:
name: Kotlin Lint (ktlint)
runs-on: macOS-latest
timeout-minutes: 5

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run ktlint
run: ./gradlew ktlint --stacktrace

lint:
name: Android Lint
runs-on: macOS-latest
timeout-minutes: 10

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run Android lint
run: ./gradlew lintDebug --stacktrace

- name: Upload lint reports
if: always()
uses: actions/upload-artifact@v4
with:
name: lint-reports
path: |
cropper/build/reports/lint-results-*.html
cropper/build/reports/lint-results-*.xml
retention-days: 7

unit-tests:
name: Unit Tests (JDK ${{ matrix.java_version }})
runs-on: macOS-latest
timeout-minutes: 15

strategy:
matrix:
java_version: [17]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK ${{ matrix.java_version }}
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java_version }}
cache: 'gradle'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run unit tests
run: ./gradlew testDebug --stacktrace

- name: Upload test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports-jdk-${{ matrix.java_version }}
path: |
cropper/build/reports/tests/
sample/build/reports/tests/
retention-days: 7

- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-jdk-${{ matrix.java_version }}
path: |
cropper/build/test-results/
sample/build/test-results/
retention-days: 7
21 changes: 21 additions & 0 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Gradle Wrapper Validation

on:
push:
branches: [main]
pull_request:
branches: [main]
merge_group:

jobs:
validation:
name: Validate Gradle Wrapper
runs-on: ubuntu-latest
timeout-minutes: 2

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v3
Loading
Loading