name: Demo Job Summary, for Gradle builds

on:
  workflow_dispatch:
  push:

env:
  GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true

jobs:
  many-gradle-builds:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
    - name: Setup Gradle
      uses: ./
    - name: Build kotlin-dsl project
      working-directory: .github/workflow-samples/kotlin-dsl
      run: ./gradlew assemble
    - name: Build kotlin-dsl project without Build Scan®
      working-directory: .github/workflow-samples/kotlin-dsl
      run: ./gradlew assemble check --no-scan
    - name: Build kotlin-dsl project with Build Scan® publish failure
      working-directory: .github/workflow-samples/kotlin-dsl
      run: ./gradlew check -Dgradle.enterprise.url=https://not.valid.server
    - name: Build groovy-dsl project
      working-directory: .github/workflow-samples/groovy-dsl
      run: ./gradlew assemble
    - name: Build kotlin-dsl project with multiple gradle invocations
      working-directory: .github/workflow-samples/kotlin-dsl
      run: | 
         ./gradlew tasks --no-daemon
         ./gradlew help check
    - name: Fail groovy-dsl project
      working-directory: .github/workflow-samples/groovy-dsl
      continue-on-error: true
      run: ./gradlew not-a-real-task

  successful-builds-with-no-summary:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
    - name: Setup Gradle
      uses: ./
      with:
        add-job-summary: on-failure
    - name: Build kotlin-dsl project
      working-directory: .github/workflow-samples/kotlin-dsl
      run: ./gradlew assemble
    - name: Build kotlin-dsl project without Build Scan®
      working-directory: .github/workflow-samples/kotlin-dsl
      run: ./gradlew assemble check --no-scan

  pre-existing-gradle-home:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
    - name: Pre-create Gradle User Home
      shell: bash
      run: |
        mkdir ~/.gradle
        mkdir ~/.gradle/caches
        touch ~/.gradle/caches/dummy.txt
    - name: Setup Gradle
      uses: ./
    - name: Run build
      working-directory: .github/workflow-samples/groovy-dsl
      run: ./gradlew assemble