name: CI

on:
  push:
  pull_request:
    paths-ignore:
      - '**/README.md'

jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
      fail-fast: false
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3
        with:
          lfs: true
      - name: Set up JDK 11
        uses: actions/setup-java@v3
        with:
          java-version: '11'
          distribution: 'adopt'
          cache: gradle
      - name: Build with Gradle
        run: ./gradlew build --stacktrace --scan
      - name: cache nodes dependencies
        uses: actions/upload-artifact@v3
        with:
          name: cached-localnet
          path: .localnet
      - uses: actions/upload-artifact@v3
        if: failure()
        with:
          name: gradlew-report
          path: 'desktop/build/reports/tests/test/index.html'
          retention-days: 30
