mirror of
https://github.com/gradle/gradle-build-action.git
synced 2024-12-26 02:06:20 +08:00
acc77da702
The action requires the generated distribution to committed to the 'dist' directory. During regular development this step causes a number of problems: - It's easy to forget to add/commit these generated files. - It's very difficult/impossible to merge/rebase commits that involve generated files - These file add unnecessary bulk to the git history With this change, the quick-check workflow will first build the distribution and then use the generated output for testing. Building and committing these files will only be required when merging into the 'main' branch.
90 lines
2.6 KiB
YAML
90 lines
2.6 KiB
YAML
name: Test provision different Gradle versions
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cache-key-prefix:
|
|
type: string
|
|
runner-os:
|
|
type: string
|
|
default: '["ubuntu-latest", "windows-latest", "macos-latest"]'
|
|
download-dist:
|
|
type: boolean
|
|
default: false
|
|
|
|
env:
|
|
DOWNLOAD_DIST: ${{ inputs.download-dist }}
|
|
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: gradle-versions-${{ inputs.cache-key-prefix }}
|
|
GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true
|
|
|
|
jobs:
|
|
# Tests for executing with different Gradle versions.
|
|
# Each build verifies that it is executed with the expected Gradle version.
|
|
provision-gradle:
|
|
strategy:
|
|
matrix:
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
include:
|
|
- os: windows-latest
|
|
script-suffix: '.bat'
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Download distribution if required
|
|
uses: ./.github/actions/download-dist
|
|
- name: Setup Gradle with v6.9
|
|
uses: ./
|
|
with:
|
|
gradle-version: 6.9
|
|
- name: Test uses Gradle v6.9
|
|
working-directory: .github/workflow-samples/no-wrapper
|
|
run: gradle help "-DgradleVersionCheck=6.9"
|
|
- name: Setup Gradle with v7.1.1
|
|
uses: ./
|
|
with:
|
|
gradle-version: 7.1.1
|
|
- name: Test uses Gradle v7.1.1
|
|
working-directory: .github/workflow-samples/no-wrapper
|
|
run: gradle help "-DgradleVersionCheck=7.1.1"
|
|
- name: Setup Gradle with release-candidate
|
|
uses: ./
|
|
with:
|
|
gradle-version: release-candidate
|
|
- name: Test use release-candidate
|
|
working-directory: .github/workflow-samples/no-wrapper
|
|
run: gradle help
|
|
|
|
gradle-versions:
|
|
strategy:
|
|
matrix:
|
|
gradle: [7.3, 6.9, 5.6.4, 4.10.3]
|
|
os: ${{fromJSON(inputs.runner-os)}}
|
|
include:
|
|
- gradle: 5.6.4
|
|
build-root-suffix: -gradle-5
|
|
- gradle: 4.10.3
|
|
build-root-suffix: -gradle-4
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
- name: Download distribution if required
|
|
uses: ./.github/actions/download-dist
|
|
- name: Setup Gradle
|
|
uses: ./
|
|
with:
|
|
gradle-version: ${{ matrix.gradle }}
|
|
- name: Run Gradle build
|
|
id: gradle
|
|
working-directory: .github/workflow-samples/no-wrapper${{ matrix.build-root-suffix }}
|
|
run: gradle help "-DgradleVersionCheck=${{matrix.gradle}}"
|
|
- name: Check build scan url
|
|
if: ${{ !steps.gradle.outputs.build-scan-url }}
|
|
uses: actions/github-script@v3
|
|
with:
|
|
script: |
|
|
core.setFailed('No build scan detected')
|
|
|
|
|