Skip to content

System lifecycle

System lifecycle #363

Workflow file for this run

name: Build
on:
push:
branches:
- master
paths-ignore:
- '**.md'
- 'LICENSE'
- '.gitignore'
pull_request:
branches:
- master
paths-ignore:
- '**.md'
- 'LICENSE'
- '.gitignore'
workflow_dispatch:
concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true
jobs:
build:
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup JDK 11
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v2
- name: Cache Kotlin Konan
id: cache-kotlin-konan
uses: actions/cache@v4
with:
path: |
~/.konan/**/*
key: kotlin-konan-${{ runner.os }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-home-cache-cleanup: true
- name: Build project
run: ./gradlew build --stacktrace
publish:
# only publish after 'build' was successful, and this workflow is running on master branch
needs: build
if: github.ref == 'refs/heads/master'
uses: ./.github/workflows/publish.yml
secrets: inherit