MPP Release #1
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
| # GitHub Actions Workflow for testing mpp-ui releases | |
| # Builds Android APK and Desktop packages for multiple platforms | |
| # Triggered by tags starting with 'compose-' | |
| name: Compose Release Test | |
| on: | |
| push: | |
| tags: | |
| - 'compose-*' | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version to build' | |
| required: true | |
| default: '1.0.0-test' | |
| jobs: | |
| # Build Android APK | |
| build-android: | |
| name: Build Android APK | |
| 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' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Install pnpm | |
| run: npm install -g [email protected] | |
| working-directory: mpp-ui | |
| - name: Install dependencies | |
| run: pnpm install | |
| working-directory: mpp-ui | |
| - name: Fix yarn lock issues | |
| run: ./gradlew kotlinUpgradeYarnLock || echo "Yarn lock upgrade failed, continuing..." | |
| - name: Build mpp-core dependency | |
| run: ./gradlew :mpp-core:assemble | |
| - name: Build Android Debug APK | |
| run: ./gradlew :mpp-ui:assembleDebug | |
| - name: Build Android Release APK | |
| run: ./gradlew :mpp-ui:assembleRelease | |
| - name: Upload Android APKs | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: android-apks | |
| path: | | |
| mpp-ui/build/outputs/apk/debug/*.apk | |
| mpp-ui/build/outputs/apk/release/*.apk | |
| # Build Desktop packages for multiple platforms | |
| build-desktop: | |
| name: Build Desktop (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| include: | |
| - os: ubuntu-latest | |
| task: packageDeb | |
| artifact: linux-deb | |
| path: mpp-ui/build/compose/binaries/main/deb/*.deb | |
| - os: windows-latest | |
| task: packageMsi | |
| artifact: windows-msi | |
| path: mpp-ui/build/compose/binaries/main/msi/*.msi | |
| - os: macos-latest | |
| task: packageDmg | |
| artifact: macos-dmg | |
| path: mpp-ui/build/compose/binaries/main/dmg/*.dmg | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Grant execute permission for gradlew (Unix) | |
| if: runner.os != 'Windows' | |
| run: chmod +x gradlew | |
| - name: Fix yarn lock issues | |
| run: ./gradlew kotlinUpgradeYarnLock || echo "Yarn lock upgrade failed, continuing..." | |
| - name: Build mpp-core dependency | |
| run: ./gradlew :mpp-core:assemble | |
| - name: Build Desktop package | |
| run: ./gradlew :mpp-ui:${{ matrix.task }} | |
| - name: Upload Desktop package | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact }} | |
| path: ${{ matrix.path }} | |
| # Create release with all artifacts | |
| create-release: | |
| name: Create Release | |
| needs: [build-android, build-desktop] | |
| runs-on: ubuntu-latest | |
| # Only run for compose-* tags to avoid conflicts with main release workflow | |
| if: startsWith(github.ref, 'refs/tags/compose-') | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: Display structure of downloaded files | |
| run: ls -la artifacts/ | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: "Compose Release ${{ github.ref_name }}" | |
| body: | | |
| ## AutoDev Compose Multiplatform Release Test | |
| This is a test release for the mpp-ui module containing: | |
| ### Android | |
| - Debug APK | |
| - Release APK | |
| ### Desktop | |
| - Linux (.deb package) | |
| - Windows (.msi installer) | |
| - macOS (.dmg image) | |
| **Note**: This is a test release. Please use with caution. | |
| files: | | |
| artifacts/**/* | |
| draft: false | |
| prerelease: true | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |