mirror of
https://github.com/gradle/actions
synced 2024-11-23 18:02:13 +00:00
70 lines
3.4 KiB
YAML
70 lines
3.4 KiB
YAML
name: Gradle Dependency Submission
|
|
description: Generates a dependency graph for a Gradle project and submits it via the Dependency Submission API
|
|
|
|
inputs:
|
|
gradle-version:
|
|
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.
|
|
required: false
|
|
build-root-directory:
|
|
description: Path to the root directory of the build. Default is the root of the GitHub workspace.
|
|
required: false
|
|
cache-encryption-key:
|
|
description: |
|
|
A base64 encoded AES key used to encrypt the configuration-cache data. The key is exported as 'GRADLE_ENCRYPTION_KEY' for later steps.
|
|
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
|
|
dependency-graph-action:
|
|
description: |
|
|
Specifies how the dependency-graph should be handled by this action. By default a dependency-graph will be generated and submitted.
|
|
Valid values are:
|
|
'generate-and-submit' (default): Generates a dependency graph for the project and submits it in the same Job.
|
|
'generate-and-save': Generates a dependency graph for the project and saves it as a workflow artifact.
|
|
'retrieve-and-submit': Retrieves a previously saved dependency-graph and submits it to the repository.
|
|
|
|
The `generate-and-upload` and `download-and-submit` options are designed to be used in an untrusted workflow scenario,
|
|
where the workflow generating the dependency-graph cannot (or should not) be given the `contents: write` permissions
|
|
required to submit via the Dependency Submission API.
|
|
required: false
|
|
default: 'generate-and-submit'
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Generate and submit dependency graph
|
|
if: ${{ inputs.dependency-graph-action == 'generate-and-submit' }}
|
|
uses: gradle/gradle-build-action@v3-beta
|
|
with:
|
|
dependency-graph: 'generate-and-submit'
|
|
dependency-graph-continue-on-failure: false
|
|
gradle-version: ${{ inputs.gradle-version }}
|
|
build-root-directory: ${{ inputs.build-root-directory }}
|
|
cache-encryption-key: ${{ inputs.cache-encryption-key }}
|
|
arguments: |
|
|
--no-configure-on-demand
|
|
--dependency-verification=off
|
|
--stacktrace
|
|
:ForceDependencyResolutionPlugin_resolveAllDependencies
|
|
- name: Generate and save dependency graph
|
|
if: ${{ inputs.dependency-graph-action == 'generate-and-save' }}
|
|
uses: gradle/gradle-build-action@v3-beta
|
|
with:
|
|
dependency-graph: generate-and-upload
|
|
dependency-graph-continue-on-failure: false
|
|
gradle-version: ${{ inputs.gradle-version }}
|
|
build-root-directory: ${{ inputs.build-root-directory }}
|
|
cache-encryption-key: ${{ inputs.cache-encryption-key }}
|
|
arguments: |
|
|
--no-configure-on-demand
|
|
--dependency-verification=off
|
|
--stacktrace
|
|
:ForceDependencyResolutionPlugin_resolveAllDependencies
|
|
- name: Download and submit dependency graph
|
|
if: ${{ inputs.dependency-graph-action == 'retrieve-and-submit' }}
|
|
uses: gradle/gradle-build-action@v3-beta
|
|
with:
|
|
dependency-graph: download-and-submit
|
|
dependency-graph-continue-on-failure: false
|
|
cache-disabled: true
|