Skip to content

Build for Web, Desktop, Android #240

Build for Web, Desktop, Android

Build for Web, Desktop, Android #240

Workflow file for this run

name: build-web-desktop-mobile
run-name: Build for Web, Desktop, Android
on:
push:
branches:
- master
paths-ignore:
- "README.md"
- "docs/*"
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
build-web:
name: "Build for Web"
runs-on: ubuntu-latest
permissions:
contents: write
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Copy CI gradle.properties (idk about this)
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Gradle build for web
run: ./gradlew wasmJsBrowserDistribution
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Dodeclusters-web
path: './composeApp/build/dist/wasmJs/productionExecutable/'
- name: Deploy to Github Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: './composeApp/build/dist/wasmJs/productionExecutable/'
branch: github-pages
clean-exclude: |
LICENSE
README.md
.gitignore
# absolute jdk path is bad in
# compose.desktop { application { javaHome } }
build-dektop:
name: "Build EXE"
runs-on: windows-latest
permissions:
contents: write
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Copy CI gradle.properties (idk about this)
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Gradle build for desktop
run: ./gradlew composeApp:createReleaseDistributable
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Dodeclusters-windows-standalone
path: 'composeApp/build/compose/binaries/main-release/app/com.pierbezuhoff.dodeclusters'
build-appimage:
name: "Build AppImage for Linux Desktop (WIP)"
runs-on: ubuntu-latest
permissions:
contents: write
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Copy CI gradle.properties (idk about this)
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Gradle build for AppImage AppDir
run: ./gradlew composeApp:packageReleaseAppImage
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Dodeclusters-linux-standalone
path: 'composeApp/build/compose/binaries/main-release/app/com.pierbezuhoff.dodeclusters'
build-deb:
name: "Build deb for Ubuntu & Debian-based systems"
runs-on: ubuntu-latest
permissions:
contents: write
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Copy CI gradle.properties (idk about this)
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Gradle build for deb package
run: ./gradlew composeApp:packageReleaseDeb
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Dodeclusters-linux-deb
path: 'composeApp/build/compose/binaries/main-release/deb'
build-android:
name: "Build apk for Android (debug)"
runs-on: ubuntu-latest
permissions:
contents: write
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Copy CI gradle.properties (idk about this)
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Gradle build for debug apk
run: ./gradlew assembleDebug
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Dodeclusters-android-debug
path: 'composeApp/build/outputs/apk/debug'