-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
action.yml
89 lines (89 loc) · 2.71 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name: Run Gradle
description: Sets up Gradle JDKs and runs Gradle
inputs:
arguments:
required: true
description: Gradle arguments
java:
required: true
description: The JDK version
early-access:
default: '20'
required: false
description: The early access release
token:
required: false
description: 'A Github PAT'
runs:
using: composite
steps:
- name: Prepare OpenJDK
if: inputs.java != 'GraalVM'
shell: bash
run: echo "JAVA_VERSION=${{ inputs.java }}" >> $GITHUB_ENV
- name: Prepare GraalVM
if: inputs.java == 'GraalVM'
shell: bash
run: |
echo "GRAALVM=true" >> $GITHUB_ENV
echo "JAVA_VERSION=19" >> $GITHUB_ENV
- name: Set up JDK ${{ inputs.java }}
uses: actions/setup-java@v3
if: (inputs.early-access != inputs.java) && (inputs.java != 'GraalVM')
with:
java-version: ${{ inputs.java }}
distribution: temurin
- name: Set up JDK ${{ inputs.java }}
uses: oracle-actions/setup-java@v1
if: (inputs.early-access == inputs.java) && (inputs.java != 'GraalVM')
with:
release: ${{ inputs.java }}
website: jdk.java.net
version: latest
- name: Set up JDK 17 + GraalVM
uses: graalvm/setup-graalvm@v1
if: inputs.java == 'GraalVM'
with:
version: 'latest'
components: 'native-image'
github-token: ${{ inputs.token }}
java-version: ${{ env.JAVA_VERSION }}
- name: Prepare JDK ${{ inputs.java }}
shell: bash
run: |
echo "JDK_CI=$JAVA_HOME" >> $GITHUB_ENV
echo "JDK_EA=${{ inputs.early-access == inputs.java }}" >> $GITHUB_ENV
- name: Set up JDK 17
id: setup-gradle-jdk
uses: actions/setup-java@v3
if: inputs.java != 'GraalVM'
with:
java-version: 17
distribution: temurin
- name: Setup Gradle
id: setup-gradle
uses: gradle/gradle-build-action@v2
continue-on-error: true
env:
JAVA_HOME: ${{ steps.setup-gradle-jdk.outputs.path }}
with:
cache-read-only: false
generate-job-summary: false
gradle-home-cache-strict-match: true
arguments: |
-Porg.gradle.java.installations.auto-download=false
--no-scan
help
- name: Backoff
if: steps.setup-gradle.outcome == 'failure'
shell: bash
run: sleep 10
- name: Run ${{ inputs.arguments }}
env:
JAVA_HOME: ${{ steps.setup-gradle-jdk.outputs.path }}
shell: bash
run: |
stopMarker=$(uuidgen)
echo "::stop-commands::$stopMarker"
trap "echo '::$stopMarker::'" EXIT
./gradlew -Porg.gradle.java.installations.auto-download=false ${{ inputs.arguments }}