Skip to content

More Windows fixes #1275

More Windows fixes

More Windows fixes #1275

Workflow file for this run

name: build
on:
pull_request: {}
workflow_dispatch: {}
push:
branches:
- 'trunk'
tags-ignore:
- '**'
jobs:
zig:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: goto-bus-stop/setup-zig@v2
with:
version: 0.13.0
- run: zig build -p src/jvmMain/resources/jni
working-directory: mosaic-terminal
- uses: actions/upload-artifact@v4
with:
name: jni-binaries
path: mosaic-terminal/src/jvmMain/resources/jni
if-no-files-found: error
tests:
needs:
- zig
strategy:
fail-fast: false
matrix:
include:
- os: macOS-13
platform-test: macosX64Test
- os: macOS-14
platform-test: macosArm64Test
- os: macOS-15
platform-test: macosArm64Test
- os: ubuntu-20.04
platform-test: linuxX64Test
- os: ubuntu-22.04
platform-test: linuxX64Test
- os: ubuntu-24.04
platform-test: linuxX64Test
- os: windows-2019
platform-test: mingwX64Test
- os: windows-2022
platform-test: mingwX64Test
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: jni-binaries
path: mosaic-terminal/src/jvmMain/resources/jni
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 23
- uses: gradle/actions/setup-gradle@v4
- run: ./gradlew jvmTest ${{ matrix.platform-test }}
binaries:
runs-on: macos-15
needs:
- zig
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: jni-binaries
path: mosaic-terminal/src/jvmMain/resources/jni
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 23
- uses: gradle/actions/setup-gradle@v4
- run: ./gradlew assemble
checks:
runs-on: macos-15
needs:
- zig
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: jni-binaries
path: mosaic-terminal/src/jvmMain/resources/jni
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 23
- uses: gradle/actions/setup-gradle@v4
- run: ./gradlew spotlessCheck apiCheck
publish:
runs-on: macos-15
needs:
- binaries
- checks
- tests
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: jni-binaries
path: mosaic-terminal/src/jvmMain/resources/jni
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 23
- uses: gradle/actions/setup-gradle@v4
- run: ./gradlew publish
if: ${{ github.ref == 'refs/heads/trunk' && github.repository == 'JakeWharton/mosaic' }}
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
- run: ./gradlew dokkaHtmlMultiModule
- uses: actions/upload-artifact@v4
with:
name: html-docs
path: build/dokka/htmlMultiModule/
if-no-files-found: error
- uses: JamesIves/github-pages-deploy-action@releases/v3
if: ${{ github.ref == 'refs/heads/trunk' && github.repository == 'JakeWharton/mosaic' }}
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: site
FOLDER: build/dokka/htmlMultiModule/
TARGET_FOLDER: docs/latest/
CLEAN: true