2024-01-26 19:47:02 +00:00
name : 'Setup Gradle'
2023-08-17 22:52:51 +00:00
description : 'Configures Gradle for GitHub actions, caching state and generating a dependency graph via Dependency Submission.'
2019-09-20 21:23:07 +00:00
2019-09-20 21:06:59 +00:00
inputs :
2019-09-21 14:01:53 +00:00
gradle-version :
2024-04-07 18:11:50 +00:00
description : |
Gradle version to use. If specified, this Gradle version will be downloaded, added to the PATH and used for invoking Gradle.
If not provided, it is assumed that the project uses the Gradle Wrapper.
2023-06-03 20:09:52 +00:00
required : false
2024-04-07 18:11:50 +00:00
# Cache configuration
2021-09-12 20:26:38 +00:00
cache-disabled :
description : When 'true', all caching is disabled. No entries will be written to or read from the cache.
2021-07-08 18:22:48 +00:00
required : false
2021-09-12 20:26:38 +00:00
default : false
2021-10-20 21:01:36 +00:00
2021-09-12 20:26:38 +00:00
cache-read-only :
2022-01-28 16:55:33 +00:00
description : |
When 'true', existing entries will be read from the cache but no entries will be written.
By default this value is 'false' for workflows on the GitHub default branch and 'true' for workflows on other branches.
2021-08-20 19:01:43 +00:00
required : false
2022-08-18 18:35:47 +00:00
default : ${{ github.event.repository != null && github.ref_name != github.event.repository.default_branch }}
2021-10-20 21:01:36 +00:00
2022-06-04 17:28:12 +00:00
cache-write-only :
description : |
2024-05-15 22:49:55 +00:00
When 'true', entries will not be restored from the cache but will be saved at the end of the Job.
2022-06-04 17:28:12 +00:00
Setting this to 'true' implies cache-read-only will be 'false'.
required : false
default : false
2023-08-19 19:01:29 +00:00
cache-overwrite-existing :
description : When 'true', a pre-existing Gradle User Home will not prevent the cache from being restored.
required : false
default : false
2023-12-21 02:02:27 +00:00
cache-encryption-key :
description : |
2024-05-15 22:49:55 +00:00
A base64 encoded AES key used to encrypt the configuration-cache data. The key is exported as 'GRADLE_ENCRYPTION_KEY' for later steps.
2023-12-21 02:02:27 +00:00
A suitable key can be generated with `openssl rand -base64 16`.
Configuration-cache data will not be saved/restored without an encryption key being provided.
required : false
2024-07-18 01:02:31 +00:00
cache-cleanup :
description : |
Specifies if the action should attempt to remove any stale/unused entries from the Gradle User Home prior to saving to the GitHub Actions cache.
2024-08-05 16:54:56 +00:00
By default ('on-success'), cleanup is performed when all Gradle builds succeed for the Job.
This behaviour can be disabled ('never'), or configured to always run irrespective of the build outcome ('always').
2024-07-18 01:02:31 +00:00
Valid values are 'never', 'on-success' and 'always'.
required : false
2024-07-19 21:28:39 +00:00
default : 'on-success'
2024-07-18 01:02:31 +00:00
gradle-home-cache-cleanup :
description : When 'true', the action will attempt to remove any stale/unused entries from the Gradle User Home prior to saving to the GitHub Actions cache.
required : false
deprecation-message : This input has been superceded by the 'cache-cleanup' input parameter.
2021-10-27 22:05:07 +00:00
gradle-home-cache-includes :
description : Paths within Gradle User Home to cache.
required : false
default : |
2021-10-29 13:29:57 +00:00
caches
notifications
2021-10-27 22:05:07 +00:00
gradle-home-cache-excludes :
description : Paths within Gradle User Home to exclude from cache.
required : false
2021-10-20 15:52:04 +00:00
2024-04-07 18:11:50 +00:00
# Job summary configuration
2024-01-01 19:31:36 +00:00
add-job-summary :
description : Specifies when a Job Summary should be inluded in the action results. Valid values are 'never', 'always' (default), and 'on-failure'.
2022-06-06 13:13:23 +00:00
required : false
2024-01-01 19:31:36 +00:00
default : 'always'
2022-06-06 13:13:23 +00:00
2024-01-01 19:31:36 +00:00
add-job-summary-as-pr-comment :
description : Specifies when each Job Summary should be added as a PR comment. Valid values are 'never' (default), 'always', and 'on-failure'. No action will be taken if the workflow was not triggered from a pull request.
2024-01-01 18:58:02 +00:00
required : false
2024-01-01 19:31:36 +00:00
default : 'never'
2024-01-01 18:58:02 +00:00
2024-04-07 18:11:50 +00:00
# Dependency Graph configuration
2023-07-05 18:33:47 +00:00
dependency-graph :
2024-04-07 18:11:50 +00:00
description : |
2024-05-15 22:49:55 +00:00
Specifies if a GitHub dependency snapshot should be generated for each Gradle build, and if so, how.
2024-07-19 21:42:01 +00:00
Valid values are 'disabled' (default), 'generate', 'generate-and-submit', 'generate-and-upload', and 'download-and-submit'.
2023-07-02 01:00:28 +00:00
required : false
2023-07-05 18:33:47 +00:00
default : 'disabled'
2023-07-02 01:00:28 +00:00
2024-07-19 22:20:52 +00:00
dependency-graph-report-dir :
description : |
Specifies where the dependency graph report will be generated.
Paths can relative or absolute. Relative paths are resolved relative to the workspace directory.
required : false
default : 'dependency-graph-reports'
2024-01-12 18:15:01 +00:00
dependency-graph-continue-on-failure :
description : When 'false' a failure to generate or submit a dependency graph will fail the Step or Job. When 'true' a warning will be emitted but no failure will result.
required : false
default : true
2024-07-19 23:07:41 +00:00
dependency-graph-exclude-projects :
description : |
Gradle projects that should be excluded from dependency graph (regular expression).
When set, any matching project will be excluded.
required : false
dependency-graph-include-projects :
description : |
Gradle projects that should be included in dependency graph (regular expression).
When set, only matching projects will be included.
required : false
dependency-graph-exclude-configurations :
description : |
Gradle configurations that should be included in dependency graph (regular expression).
When set, anymatching configurations will be excluded.
required : false
dependency-graph-include-configurations :
description : |
Gradle configurations that should be included in dependency graph (regular expression).
When set, only matching configurations will be included.
required : false
2023-11-09 07:06:31 +00:00
artifact-retention-days :
description : Specifies the number of days to retain any artifacts generated by the action. If not set, the default retention settings for the repository will apply.
required : false
2024-04-07 18:11:50 +00:00
# Build Scan configuration
2024-01-23 23:44:34 +00:00
build-scan-publish :
description : |
Set to 'true' to automatically publish build results as a Build Scan on scans.gradle.com.
2024-04-03 20:47:50 +00:00
For publication to succeed without user input, you must also provide values for `build-scan-terms-of-use-url` and 'build-scan-terms-of-use-agree'.
2024-01-23 23:44:34 +00:00
required : false
default : false
2024-04-03 20:47:50 +00:00
build-scan-terms-of-use-url :
description : The URL to the Build Scan® terms of use. This input must be set to 'https://gradle.com/terms-of-service' or 'https://gradle.com/help/legal-terms-of-use'.
2024-01-23 23:44:34 +00:00
required : false
2024-05-15 22:49:55 +00:00
2024-04-03 20:47:50 +00:00
build-scan-terms-of-use-agree :
description : Indicate that you agree to the Build Scan® terms of use. This input value must be "yes".
2024-01-23 23:44:34 +00:00
required : false
2024-05-15 22:49:55 +00:00
develocity-access-key :
description : Develocity access key. Should be set to a secret containing the Develocity Access key.
required : false
develocity-token-expiry :
description : The Develocity short-lived access tokens expiry in hours. Default is 2 hours.
required : false
2024-06-13 18:42:47 +00:00
develocity-injection-enabled :
description : Enables Develocity injection.
required : false
develocity-url :
description : The URL for the Develocity server.
required : false
develocity-allow-untrusted-server :
description : Allow communication with an untrusted server; set to _true_ if your Develocity instance is using a self-signed.
required : false
develocity-capture-file-fingerprints :
description : Enables capturing the paths and content hashes of each individual input file.
required : false
develocity-enforce-url :
description : Enforce the configured Develocity URL over a URL configured in the project's build; set to _true_ to enforce publication of build scans to the configured Develocity URL.
required : false
develocity-plugin-version :
description : The version of the Develocity Gradle plugin to apply.
required : false
develocity-ccud-plugin-version :
description : The version of the Common Custom User Data Gradle plugin to apply, if any.
required : false
gradle-plugin-repository-url :
description : The URL of the repository to use when resolving the Develocity and CCUD plugins; the Gradle Plugin Portal is used by default.
required : false
gradle-plugin-repository-username :
description : The username for the repository URL to use when resolving the Develocity and CCUD.
required : false
gradle-plugin-repository-password :
description : The password for the repository URL to use when resolving the Develocity and CCUD plugins; Consider using secrets to pass the value to this variable.
required : false
2024-04-11 17:56:55 +00:00
# Wrapper validation configuration
validate-wrappers :
description : |
2024-08-01 02:38:10 +00:00
When 'true' (the default) the action will automatically validate all wrapper jars found in the repository.
2024-04-11 17:56:55 +00:00
If the wrapper checksums are not valid, the action will fail.
required : false
2024-08-01 02:38:10 +00:00
default : true
allow-snapshot-wrappers :
description : |
When 'true', wrapper validation will include the checksums of snapshot wrapper jars.
Use this if you are running with nightly or snapshot versions of the Gradle wrapper.
required : false
2024-04-11 17:56:55 +00:00
default : false
2023-12-13 18:41:32 +00:00
# DEPRECATED ACTION INPUTS
arguments :
description : Gradle command line arguments (supports multi-line input)
required : false
2024-07-19 20:56:50 +00:00
deprecation-message : This parameter has been deprecated and removed. It is only left here to allow for better reporting to assist users to migrate.
2023-12-13 18:41:32 +00:00
2024-04-07 18:11:50 +00:00
# EXPERIMENTAL ACTION INPUTS
2021-10-20 15:52:04 +00:00
# The following action properties allow fine-grained tweaking of the action caching behaviour.
2024-01-25 19:28:05 +00:00
# These properties are experimental and not (yet) designed for production use, and may change without notice in a subsequent release of `setup-gradle`.
2021-10-20 15:52:04 +00:00
# Use at your own risk!
2022-01-19 18:35:50 +00:00
gradle-home-cache-strict-match :
description : When 'true', the action will not attempt to restore the Gradle User Home entries from other Jobs.
required : false
default : false
2024-05-15 22:49:55 +00:00
2024-04-07 18:11:50 +00:00
# INTERNAL ACTION INPUTS
# These inputs should not be configured directly, and are only used to pass environmental information to the action
2021-09-07 21:13:16 +00:00
workflow-job-context :
2021-10-20 15:52:04 +00:00
description : Used to uniquely identify the current job invocation. Defaults to the matrix values for this job; this should not be overridden by users (INTERNAL).
2021-09-07 21:13:16 +00:00
required : false
default : ${{ toJSON(matrix) }}
2019-09-20 21:23:07 +00:00
2023-07-05 18:33:47 +00:00
github-token :
description : The GitHub token used to authenticate when submitting via the Dependency Submission API.
default : ${{ github.token }}
required : false
2019-09-21 14:01:53 +00:00
outputs :
build-scan-url :
2024-01-25 19:28:05 +00:00
description : Link to the Build Scan® generated by a Gradle build. Note that this output applies to a Step executing Gradle, not to the `setup-gradle` Step itself.
2023-07-24 14:43:47 +00:00
dependency-graph-file :
2024-01-25 19:28:05 +00:00
description : Path to the GitHub Dependency Graph snapshot file generated by a Gradle build. Note that this output applies to a Step executing Gradle, not to the `setup-gradle` Step itself.
2023-08-19 17:50:40 +00:00
gradle-version :
description : Version of Gradle that was setup by the action
2019-09-21 14:01:53 +00:00
2019-09-20 21:06:59 +00:00
runs :
2023-11-27 08:32:01 +00:00
using : 'node20'
2024-01-29 00:24:38 +00:00
main : '../dist/setup-gradle/main/index.js'
post : '../dist/setup-gradle/post/index.js'
2019-09-21 14:01:53 +00:00
branding :
icon : 'box'
color : 'gray-dark'