name: Test caching with Kotlin DSL

on:
  pull_request:
  push:
  workflow_dispatch:

env:
  GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: ${{github.workflow}}#${{github.run_number}}-
  GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true

jobs:
  # Use kotlin-dsl project to verify caching of generated jars and compiled scripts
  seed-build:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
    - name: Checkout sources
      uses: actions/checkout@v2
    - name: Build kotlin-dsl project
      uses: ./
      with:
        build-root-directory: __tests__/samples/kotlin-dsl
        arguments: test

  # Check that the build can run --offline
  verify-build:
    needs: seed-build
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
    - name: Checkout sources
      uses: actions/checkout@v2
    - name: Build kotlin-dsl project
      uses: ./
      with:
        build-root-directory: __tests__/samples/kotlin-dsl
        arguments: test --offline
