Skip to content

Build & deploy to Github Pages #21

Build & deploy to Github Pages

Build & deploy to Github Pages #21

Workflow file for this run

name: build-and-delpoy
run-name: Build & deploy to Github Pages
on:
push:
branches:
- master
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@v1
- 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/gradle-build-action@v2
- name: Gradle build for web
run: ./gradlew wasmJsBrowserDistribution
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Browser distribution
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 for Desktop on ${{ matrix.os }}"
strategy:
matrix:
# no reason to build for macOS since i'm out of the loop abt notarization & stuff
# but it does build successfully
os: [ubuntu-latest, windows-latest] # macos-latest,
runs-on: ${{ matrix.os }}
permissions:
contents: write
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- 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/gradle-build-action@v2
- name: Gradle build for desktop
run: ./gradlew composeApp:createDistributable
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: "Desktop distribution for ${{ matrix.os }}"
path: 'composeApp/build/compose/binaries/main/app'
build-android:
name: "Build for Android"
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@v1
- 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/gradle-build-action@v2
- name: Gradle build debug .apk for Android
run: ./gradlew assembleDebug
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: "Android debug .apk"
path: 'composeApp/build/outputs/apk/debug'