Uniformize atomicMove destination-directory behavior across platforms #131
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ⚗️ FileKit CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: 💆♀️ Build FileKit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 🐘 Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: 🔨 Build project | |
| run: ./gradlew assemble | |
| test-desktop: | |
| name: 🖥️ Test Desktop | |
| needs: build | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 🐘 Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: 🧪 Run JVM Tests | |
| run: ./gradlew jvmTest | |
| test-android: | |
| name: 🤖 Test Android | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 🐘 Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: 🧪 Run Android Unit Tests | |
| run: ./gradlew testAndroidHostTest | |
| test-ios: | |
| name: 🍎 Test iOS | |
| needs: build | |
| runs-on: macos-latest | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 🐘 Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: 🧪 Run iOS Tests | |
| run: ./gradlew iosSimulatorArm64Test | |
| test-watchos: | |
| name: ⌚️ Test watchOS | |
| needs: build | |
| runs-on: macos-latest | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 🐘 Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: 🧪 Run watchOS Tests | |
| run: ./gradlew watchosSimulatorArm64Test | |
| test-macos: | |
| name: 🍏 Test macOS | |
| needs: build | |
| runs-on: macos-latest | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 🐘 Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| with: | |
| cache-disabled: true | |
| - name: 🧪 Run macOS Tests | |
| run: ./gradlew macosArm64Test --no-daemon | |
| lint: | |
| name: 🚨 Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 🛎️ Check out repository | |
| uses: actions/checkout@v6 | |
| - name: 🍉 Configure JDK 21 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: 📥 Download ktlint | |
| run: | | |
| curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.8.0/ktlint | |
| chmod a+x ktlint | |
| sudo mv ktlint /usr/local/bin/ | |
| - name: 👮 Download ktlint-compose rules | |
| run: curl -sSLO https://github.com/mrmans0n/compose-rules/releases/download/v0.4.28/ktlint-compose-0.4.28-all.jar | |
| - name: 🚨 Run ktlint | |
| run: ktlint '**/*.kt' '**/*.kts' '!**/build/**' -R ktlint-compose-0.4.28-all.jar |