mirror of
https://github.com/gradle/gradle-build-action
synced 2024-12-18 06:12:23 +00:00
fa0c026e07
The Gradle daemon is not useful for ephemeral builds, and the process can hold file locks which interfere with cache entry generation. In the case where multiple Gradle invocations occur in the same job, we could provide a way for users to override this behaviour, taking care of stopping any daemon process at the end of the job.
137 lines
3.7 KiB
YAML
137 lines
3.7 KiB
YAML
# make sure the action works on a clean machine without building
|
|
name: prod
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
basic-build:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Build using Gradle wrapper
|
|
uses: ./
|
|
with:
|
|
build-root-directory: __tests__/samples/basic
|
|
arguments: test
|
|
- name: Build with configuration-cache enabled
|
|
uses: ./
|
|
with:
|
|
build-root-directory: __tests__/samples/basic
|
|
arguments: test --configuration-cache
|
|
|
|
gradle-execution:
|
|
needs: basic-build
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
include:
|
|
- os: windows-latest
|
|
script-suffix: '.bat'
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Test use defined Gradle version
|
|
uses: ./
|
|
with:
|
|
gradle-version: 6.9
|
|
build-root-directory: __tests__/samples/no-wrapper
|
|
arguments: help
|
|
- name: Test use Gradle version alias
|
|
uses: ./
|
|
with:
|
|
gradle-version: release-candidate
|
|
build-root-directory: __tests__/samples/no-wrapper
|
|
arguments: help
|
|
- name: Test use defined Gradle executable
|
|
uses: ./
|
|
with:
|
|
gradle-executable: __tests__/samples/basic/gradlew${{ matrix.script-suffix }}
|
|
build-root-directory: __tests__/samples/no-wrapper
|
|
arguments: help
|
|
|
|
dependencies-cache:
|
|
needs: basic-build
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Test dependencies-cache-enabled
|
|
uses: ./
|
|
with:
|
|
build-root-directory: __tests__/samples/basic
|
|
arguments: test
|
|
|
|
configuration-cache:
|
|
needs: basic-build
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Test configuration-cache-enabled
|
|
uses: ./
|
|
with:
|
|
build-root-directory: __tests__/samples/basic
|
|
arguments: test --configuration-cache
|
|
|
|
read-only-cache:
|
|
needs: basic-build
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Test caches read-only
|
|
uses: ./
|
|
with:
|
|
build-root-directory: __tests__/samples/basic
|
|
arguments: test
|
|
distributions-cache-enabled: read-only
|
|
gradle-user-home-cache-enabled: read-only
|
|
project-dot-gradle-cache-enabled: read-only
|
|
|
|
- name: Test caches disabled
|
|
uses: ./
|
|
with:
|
|
gradle-version: 6.9
|
|
build-root-directory: __tests__/samples/basic
|
|
arguments: test
|
|
distributions-cache-enabled: false
|
|
gradle-user-home-cache-enabled: false
|
|
project-dot-gradle-cache-enabled: false
|
|
|
|
|
|
failures: # These build invocations are informational only, and are expected to fail
|
|
needs: basic-build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Test wrapper missing
|
|
uses: ./
|
|
continue-on-error: true
|
|
with:
|
|
build-root-directory: __tests__/samples/no-wrapper
|
|
arguments: help
|
|
- name: Test bad config value
|
|
uses: ./
|
|
continue-on-error: true
|
|
with:
|
|
build-root-directory: __tests__/samples/no-wrapper
|
|
arguments: help
|
|
gradle-user-home-cache-enabled: no
|