diff --git a/README.md b/README.md index 442eaa3..a002842 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,6 @@ jobs: - run: echo "The release-candidate version was ${{ steps.setup-gradle.outputs.gradle-version }}" ``` - ## Caching build state between Jobs The `gradle-build-action` will use the GitHub Actions cache to save and restore reusable state that may be speed up a subsequent build invocation. This includes most content that is downloaded from the internet as part of a build, as well as expensive to create content like compiled build scripts, transformed Jar files, etc. @@ -423,103 +422,6 @@ jobs: path: build/reports/ ``` -## Use the action to invoke Gradle - -If the `gradle-build-action` is configured with an `arguments` input, then Gradle will execute a Gradle build with the arguments provided. NOTE: We recommend using the `gradle-build-action` as a "Setup Gradle" step as described above, with Gradle being invoked via a regular `run` command. - -If no `arguments` are provided, the action will not execute Gradle, but will still cache Gradle state and configure build-scan capture for all subsequent Gradle executions. - -```yaml -name: Run Gradle on PRs -on: pull_request -jobs: - gradle: - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 - with: - distribution: temurin - java-version: 11 - - - name: Setup and execute Gradle 'test' task - uses: gradle/gradle-build-action@v2 - with: - arguments: test -``` - -### Multiple Gradle executions in the same Job - -It is possible to configure multiple Gradle executions to run sequentially in the same job. -The initial Action step will perform the Gradle setup. - -```yaml -- uses: gradle/gradle-build-action@v2 - with: - arguments: assemble -- uses: gradle/gradle-build-action@v2 - with: - arguments: check -``` - -### Gradle command-line arguments - -The `arguments` input can be used to pass arbitrary arguments to the `gradle` command line. -Arguments can be supplied in a single line, or as a multi-line input. - -Here are some valid examples: -```yaml -arguments: build -arguments: check --scan -arguments: some arbitrary tasks -arguments: build -PgradleProperty=foo -arguments: | - build - --scan - -PgradleProperty=foo - -DsystemProperty=bar -``` - -If you need to pass environment variables, use the GitHub Actions workflow syntax: - -```yaml -- uses: gradle/gradle-build-action@v2 - env: - CI: true - with: - arguments: build -``` - -### Gradle build located in a subdirectory - -By default, the action will execute Gradle in the root directory of your project. -Use the `build-root-directory` input to target a Gradle build in a subdirectory. - -```yaml -- uses: gradle/gradle-build-action@v2 - with: - arguments: build - build-root-directory: some/subdirectory -``` - -### Using a specific Gradle executable - -The action will first look for a Gradle wrapper script in the root directory of your project. -If not found, `gradle` will be executed from the PATH. -Use the `gradle-executable` input to execute using a specific Gradle installation. - -```yaml - - uses: gradle/gradle-build-action@v2 - with: - arguments: build - gradle-executable: /path/to/installed/gradle -``` - -This mechanism can also be used to target a Gradle wrapper script that is located in a non-default location. - ## Support for GitHub Enterprise Server (GHES) You can use the `gradle-build-action` on GitHub Enterprise Server, and benefit from the improved integration with Gradle. Depending on the version of GHES you are running, certain features may be limited: diff --git a/action.yml b/action.yml index c79bfbd..362e8b2 100644 --- a/action.yml +++ b/action.yml @@ -8,14 +8,6 @@ inputs: description: Gradle version to use. If specified, this Gradle version will be downloaded, added to the PATH and used for invoking Gradle. required: false - gradle-executable: - description: Path to the Gradle executable. If specified, this executable will be added to the PATH and used for invoking Gradle. - 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-disabled: description: When 'true', all caching is disabled. No entries will be written to or read from the cache. required: false @@ -84,7 +76,17 @@ inputs: arguments: description: Gradle command line arguments (supports multi-line input) required: false - deprecation-message: The `gradle-build-action` will configure your runner so that any subsequent Gradle execution will benefit. Using the action to execute Gradle directly is deprecated in favor of executing Gradle in a subsequent Step. See https://github.com/gradle/gradle-build-action?tab=readme-ov-file#use-the-action-to-setup-gradle. + deprecation-message: Using the action to execute Gradle directly is deprecated in favor of using the action to setup Gradle, and executing Gradle in a subsequent Step. See https://github.com/gradle/gradle-build-action?tab=readme-ov-file#use-the-action-to-setup-gradle. + + build-root-directory: + description: Path to the root directory of the build. Default is the root of the GitHub workspace. + required: false + deprecation-message: Using the action to execute Gradle directly is deprecated in favor of using the action to setup Gradle, and executing Gradle in a subsequent Step. See https://github.com/gradle/gradle-build-action?tab=readme-ov-file#use-the-action-to-setup-gradle. + + gradle-executable: + description: Path to the Gradle executable. If specified, this executable will be added to the PATH and used for invoking Gradle. + required: false + deprecation-message: Using the action to execute Gradle directly is deprecated in favor of using the action to setup Gradle, and executing Gradle in a subsequent Step. See https://github.com/gradle/gradle-build-action?tab=readme-ov-file#use-the-action-to-setup-gradle. # EXPERIMENTAL & INTERNAL ACTION INPUTS # The following action properties allow fine-grained tweaking of the action caching behaviour. @@ -94,6 +96,7 @@ inputs: description: When 'true', the action will not attempt to restore the Gradle User Home entries from other Jobs. required: false default: false + workflow-job-context: 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). required: false