2024-01-16 01:05:42 +00:00
# GitHub Actions for Gradle builds
This repository contains a set of GitHub Actions that are useful for building Gradle projects on GitHub.
2024-01-17 21:38:44 +00:00
2024-01-22 22:35:22 +00:00
## The `setup-gradle` action
2024-01-17 21:38:44 +00:00
2024-04-01 17:38:10 +00:00
The `setup-gradle` action can be used to configure Gradle for optimal execution on any platform supported by GitHub Actions.
2024-01-25 19:28:05 +00:00
This replaces the previous `gradle/gradle-build-action` , which now delegates to this implementation.
2024-01-17 21:38:44 +00:00
2024-04-04 22:38:14 +00:00
The recommended way to execute any Gradle build is with the help of the [Gradle Wrapper ](https://docs.gradle.org/current/userguide/gradle_wrapper.html ), and the examples assume that the Gradle Wrapper has been configured for the project. See [this example ](docs/setup-gradle.md#build-with-a-specific-gradle-version ) if your project doesn't use the Gradle Wrapper.
2024-04-01 17:38:10 +00:00
2024-01-17 21:38:44 +00:00
### Example usage
```yaml
name: Build
2024-01-23 01:02:30 +00:00
on: [ push ]
2024-01-17 21:38:44 +00:00
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
2024-04-05 20:45:05 +00:00
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
2024-01-17 21:38:44 +00:00
- name: Setup Gradle
2024-01-29 16:52:29 +00:00
uses: gradle/actions/setup-gradle@v3
2024-01-17 21:38:44 +00:00
- name: Build with Gradle
run: ./gradlew build
```
2024-04-04 22:38:14 +00:00
See the [full action documentation ](docs/setup-gradle.md ) for more advanced usage scenarios.
2024-01-17 21:38:44 +00:00
2024-01-22 22:35:22 +00:00
## The `dependency-submission` action
Generates and submits a dependency graph for a Gradle project, allowing GitHub to alert about reported vulnerabilities in your project dependencies.
The following workflow will generate a dependency graph for a Gradle project and submit it immediately to the repository via the
Dependency Submission API. For most projects, this default configuration should be all that you need.
Simply add this as a new workflow file to your repository (eg `.github/workflows/dependency-submission.yml` ).
2024-01-17 21:38:44 +00:00
```yaml
name: Dependency Submission
2024-01-23 01:02:30 +00:00
on: [ push ]
2024-01-17 21:38:44 +00:00
permissions:
contents: write
jobs:
dependency-submission:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
2024-04-05 20:45:05 +00:00
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
2024-01-17 21:38:44 +00:00
- name: Generate and submit dependency graph
2024-01-29 16:52:29 +00:00
uses: gradle/actions/dependency-submission@v3
2024-01-17 21:38:44 +00:00
```
2024-01-22 22:35:22 +00:00
2024-04-04 22:38:14 +00:00
See the [full action documentation ](docs/dependency-submission.md ) for more advanced usage scenarios.