diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml new file mode 100644 index 0000000..e3c6b65 --- /dev/null +++ b/.github/workflows/package.yml @@ -0,0 +1,80 @@ +name: Package Artifacts + +on: + workflow_dispatch: + +jobs: + package_deb: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup JDK 17 + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: jetbrains + cache: 'gradle' + # to avoid running into rate limit errors + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Package + run: ./gradlew packageDeb; + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: "artifact-deb" + path: "composeApp/build/compose/binaries/main/deb/mesh_*.deb" + + package_dmg: + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup JDK 17 + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: jetbrains + cache: 'gradle' + # to avoid running into rate limit errors + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Package + run: ./gradlew packageDmg + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: "artifact-dmg" + path: "composeApp/build/compose/binaries/main/dmg/Mesh-*.dmg" + + package_exe: + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup JDK 17 + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: jetbrains + cache: 'gradle' + # to avoid running into rate limit errors + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Package + run: ./gradlew packageExe + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: "artifact-exe" + path: "composeApp/build/compose/binaries/main/exe/Mesh-*.exe" diff --git a/artwork/icon.ico b/artwork/icon.ico new file mode 100644 index 0000000..a06a5c6 Binary files /dev/null and b/artwork/icon.ico differ diff --git a/artwork/icon.png b/artwork/icon.png new file mode 100644 index 0000000..f9ab240 Binary files /dev/null and b/artwork/icon.png differ diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index e7c5221..bdb923e 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -71,7 +71,7 @@ compose.desktop { mainClass = "des.c5inco.mesh.MainKt" nativeDistributions { - targetFormats(TargetFormat.Dmg) + targetFormats(TargetFormat.Dmg, TargetFormat.Exe, TargetFormat.Deb) packageVersion = version.toString() packageName = baseName @@ -84,6 +84,12 @@ compose.desktop { iconFile = rootProject.file("artwork/icon.icns") bundleID = "des.c5inco.mesh" } + linux { + iconFile = rootProject.file("artwork/icon.png") + } + windows { + iconFile = rootProject.file("artwork/icon.ico") + } } } }