Skip to content

Initial implementation of Kotlin/Native support. #277

Initial implementation of Kotlin/Native support.

Initial implementation of Kotlin/Native support. #277

Workflow file for this run

name: Gradle
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'microsoft'
java-version: '17'
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- name: Cache Kotlin Native
uses: actions/cache@v4
with:
path: ~/.konan
key: ${{ runner.os }}-konan-${{ hashFiles('**/*.gradle.kts') }}
restore-keys: ${{ runner.os }}-konan-
- name: Build with Gradle
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
./gradlew --no-daemon jvmJar jsBrowserDistribution linkReleaseExecutableLinuxX64 jvmTest jsTest linuxX64Test
elif [ "$RUNNER_OS" == "macOS" ]; then
./gradlew --no-daemon linkReleaseExecutableMacosX64 macosX64Test
elif [ "$RUNNER_OS" == "Windows" ]; then
./gradlew --no-daemon linkReleaseExecutableMingwX64 mingwX64Test
else
echo "Unknown OS: $RUNNER_OS"
exit 1
fi
shell: bash
- name: Publish snapshot
if: runner.os == 'Linux'
env:
OSSRH_DEPLOY_USERNAME: ${{ secrets.OSSRH_DEPLOY_USERNAME }}
OSSRH_DEPLOY_PASSWORD: ${{ secrets.OSSRH_DEPLOY_PASSWORD }}
PGP_KEY: ${{ secrets.PGP_KEY }}
PGP_KEY_ID: ${{ secrets.PGP_KEY_ID }}
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
run: ./publish-snapshot.sh
- name: Archive distributed artifacts
uses: actions/upload-artifact@v4
with:
name: kotwords-build-${{ runner.os }}
path: |
build/zip/kotwords-browser-distribution-*.zip
build/bin/**/releaseExecutable/kotwords.*