name: Build on: push: branches: [ master ] pull_request: branches: [ master ] workflow_dispatch: jobs: build-android: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build Android APK run: ./gradlew :composeApp:assembleRelease - name: Upload Android APK uses: actions/upload-artifact@v4 with: name: android-apk path: composeApp/build/outputs/apk/release/*.apk retention-days: 30 build-cli: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Build CLI package run: ./gradlew :overportcli:shadowJar shell: bash - name: Upload CLI artifacts uses: actions/upload-artifact@v4 with: name: cli-jar path: overportcli/build/libs/* retention-days: 30 build-desktop-windows: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Build Desktop package run: ./gradlew :composeApp:packageReleaseDistributionForCurrentOS shell: bash - name: Upload Desktop artifacts uses: actions/upload-artifact@v4 with: name: desktop-windows path: composeApp/build/compose/binaries/main-release/**/* retention-days: 30 build-desktop-linux: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build Desktop package run: ./gradlew :composeApp:packageReleaseDistributionForCurrentOS shell: bash - name: Build JAR package run: ./gradlew :composeApp:packageUberJarForCurrentOS shell: bash - name: Upload Desktop artifacts uses: actions/upload-artifact@v4 with: name: desktop-linux path: composeApp/build/compose/binaries/main-release/**/* retention-days: 30 - name: Upload JAR artifacts uses: actions/upload-artifact@v4 with: name: desktop-jar path: composeApp/build/compose/jars/* retention-days: 30 build-desktop-macos: runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build Desktop package run: ./gradlew :composeApp:packageReleaseDistributionForCurrentOS shell: bash - name: Build JAR package run: ./gradlew :composeApp:packageUberJarForCurrentOS shell: bash - name: Upload Desktop artifacts uses: actions/upload-artifact@v4 with: name: desktop-macos path: composeApp/build/compose/binaries/main-release/**/* retention-days: 30