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: Build Desktop App then create a new release | |
| on: | |
| release: | |
| types: [published] | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: macos-13 # runner Intel (x64) | |
| arch: x64 | |
| jdk_url: "https://corretto.aws/downloads/latest/amazon-corretto-17-x64-macos-jdk.pkg" | |
| - os: macos-latest | |
| - os: ubuntu-latest | |
| - os: windows-latest | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Set up temurin JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Gradle | |
| uses: gradle/gradle-build-action@v2 | |
| with: | |
| gradle-version: '8.12' | |
| # - name: Generate aboutlibraries | |
| # working-directory: FloconDesktop | |
| # run: ./gradlew composeApp:exportLibraryDefinitions -PaboutLibraries.outputFile=src/commonMain/composeResources/files/aboutlibraries.json | |
| - name: Build with Gradle | |
| working-directory: FloconDesktop | |
| run: ./gradlew packageDistributionForCurrentOS packageUberJarForCurrentOS | |
| env: | |
| PROJECT_VERSION_NAME: ${{ github.ref_name }} | |
| # Upload OS-specific artifacts | |
| - name: Upload Linux artifact | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-deb | |
| path: FloconDesktop/composeApp/build/compose/binaries/main/deb/*.deb | |
| - name: Rename macOS x64 dmg | |
| if: matrix.os == 'macos-13' | |
| run: | | |
| mv FloconDesktop/composeApp/build/compose/binaries/main/dmg/*.dmg FloconDesktop/composeApp/build/compose/binaries/main/dmg/macos-x64.dmg | |
| - name: Rename macOS arm64 dmg | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| mv FloconDesktop/composeApp/build/compose/binaries/main/dmg/*.dmg FloconDesktop/composeApp/build/compose/binaries/main/dmg/macos-arm64.dmg | |
| - name: Upload macOS arm64 artifact | |
| if: matrix.os == 'macos-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-arm64-dmg | |
| path: FloconDesktop/composeApp/build/compose/binaries/main/dmg/*.dmg | |
| - name: Upload macOS x64 artifact | |
| if: matrix.os == 'macos-13' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-x64-dmg | |
| path: FloconDesktop/composeApp/build/compose/binaries/main/dmg/*.dmg | |
| - name: Upload Windows artifact | |
| if: matrix.os == 'windows-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-msi | |
| path: FloconDesktop/composeApp/build/compose/binaries/main/msi/*.msi | |
| - name: Upload Linux Release Jar | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux-jar | |
| path: FloconDesktop/composeApp/build/compose/jars/*.jar | |
| - name: Upload macOS arm64 Release Jar | |
| if: matrix.os == 'macos-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-arm64-jar | |
| path: FloconDesktop/composeApp/build/compose/jars/*.jar | |
| - name: Upload macOS x64 Release Jar | |
| if: matrix.os == 'macos-13' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: macos-x64-jar | |
| path: FloconDesktop/composeApp/build/compose/jars/*.jar | |
| - name: Upload Windows Release Jar | |
| if: matrix.os == 'windows-latest' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-jar | |
| path: FloconDesktop/composeApp/build/compose/jars/*.jar | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| # Download artifacts from all platforms | |
| - name: Download Linux artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: linux-deb | |
| - name: Download macOS arm64 artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: macos-arm64-dmg | |
| - name: Download macOS x64 artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: macos-x64-dmg | |
| - name: Download Windows artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: windows-msi | |
| - name: Download Linux jar | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: linux-jar | |
| - name: Download macOS arm64 jar | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: macos-arm64-jar | |
| - name: Download macOS x64 jar | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: macos-x64-jar | |
| - name: Download Windows jar | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: windows-jar | |
| # List downloaded artifacts | |
| - name: Check downloaded artifacts | |
| run: ls -R | |
| # Create GitHub Release | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| generate_release_notes: true | |
| files: | | |
| *.deb | |
| *.dmg | |
| *.msi | |
| *.jar | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |