mirror of
https://github.com/graalvm/setup-graalvm.git
synced 2025-02-07 17:00:13 +08:00
Try composite approach.
This commit is contained in:
parent
778af55c2a
commit
b400b017a5
21
action.yml
21
action.yml
@ -45,11 +45,24 @@ inputs:
|
|||||||
required: false
|
required: false
|
||||||
description: 'Post a comment containing a Native Image build report on pull requests.'
|
description: 'Post a comment containing a Native Image build report on pull requests.'
|
||||||
default: 'false'
|
default: 'false'
|
||||||
|
mvn-settings-path:
|
||||||
|
description: 'Path to where the settings.xml file will be written. Default is ~/.m2.'
|
||||||
|
required: false
|
||||||
outputs:
|
outputs:
|
||||||
cache-hit:
|
cache-hit:
|
||||||
description: 'A boolean value to indicate an exact match was found for the primary key'
|
description: 'A boolean value to indicate an exact match was found for the primary key'
|
||||||
runs:
|
runs:
|
||||||
using: 'node16'
|
using: "composite"
|
||||||
main: 'dist/main/index.js'
|
steps:
|
||||||
post: 'dist/cleanup/index.js'
|
- uses: ./dist
|
||||||
post-if: 'success()'
|
id: graalvm
|
||||||
|
- name: 'Install Java Development Kit'
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
java-version: ${{ inputs.java-version }}
|
||||||
|
distribution: jdkfile
|
||||||
|
jdkFile: ${{ steps.graalvm.outputs.archive }}
|
||||||
|
cache: ${{ inputs.cache }}
|
||||||
|
settings-path: ${{ inputs.mvn-settings-path }}
|
||||||
|
- shell: bash
|
||||||
|
run: echo "GRAALVM_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||||
|
55
dist/action.yml
generated
vendored
Normal file
55
dist/action.yml
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
name: 'GitHub Action for GraalVM'
|
||||||
|
description: 'Set up a specific version of GraalVM Community Edition (CE) or Enterprise Edition (EE)'
|
||||||
|
author: 'GraalVM Community'
|
||||||
|
branding:
|
||||||
|
icon: 'terminal'
|
||||||
|
color: 'blue'
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
required: true
|
||||||
|
description: 'GraalVM version (release, latest, dev).'
|
||||||
|
gds-token:
|
||||||
|
required: false
|
||||||
|
description: 'Download token for the GraalVM Download Service. If provided, the action will set up GraalVM Enterprise Edition.'
|
||||||
|
java-version:
|
||||||
|
required: true
|
||||||
|
description: 'Java version (11 or 17, 8 or 16 for older releases).'
|
||||||
|
components:
|
||||||
|
required: false
|
||||||
|
description: 'Comma-separated list of GraalVM components to be installed.'
|
||||||
|
default: ''
|
||||||
|
github-token:
|
||||||
|
required: false
|
||||||
|
description: 'Set it to secrets.GITHUB_TOKEN to increase rate limits when accessing the GitHub API.'
|
||||||
|
default: ''
|
||||||
|
set-java-home:
|
||||||
|
required: false
|
||||||
|
description: 'Set $JAVA_HOME to the GraalVM installation. Default: true.'
|
||||||
|
default: 'true'
|
||||||
|
cache:
|
||||||
|
description: 'Name of the build platform to cache dependencies. It can be "maven", "gradle", or "sbt".'
|
||||||
|
required: false
|
||||||
|
check-for-updates:
|
||||||
|
required: false
|
||||||
|
description: 'Annotate jobs with update notifications, for example, when a new GraalVM release is available'
|
||||||
|
default: 'true'
|
||||||
|
native-image-musl:
|
||||||
|
required: false
|
||||||
|
description: 'Set up musl for static image building with GraalVM Native Image.'
|
||||||
|
default: 'false'
|
||||||
|
native-image-job-reports:
|
||||||
|
required: false
|
||||||
|
description: 'Post a job summary containing a Native Image build report.'
|
||||||
|
default: 'false'
|
||||||
|
native-image-pr-reports:
|
||||||
|
required: false
|
||||||
|
description: 'Post a comment containing a Native Image build report on pull requests.'
|
||||||
|
default: 'false'
|
||||||
|
outputs:
|
||||||
|
cache-hit:
|
||||||
|
description: 'A boolean value to indicate an exact match was found for the primary key'
|
||||||
|
runs:
|
||||||
|
using: 'node16'
|
||||||
|
main: 'main/index.js'
|
||||||
|
post: 'cleanup/index.js'
|
||||||
|
post-if: 'success()'
|
4
dist/cleanup/index.js
generated
vendored
4
dist/cleanup/index.js
generated
vendored
@ -74448,7 +74448,9 @@ function getLatestRelease(repo) {
|
|||||||
exports.getLatestRelease = getLatestRelease;
|
exports.getLatestRelease = getLatestRelease;
|
||||||
function downloadAndExtractJDK(downloadUrl) {
|
function downloadAndExtractJDK(downloadUrl) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
return findJavaHomeInSubfolder(yield extract(yield tc.downloadTool(downloadUrl)));
|
const archive = yield tc.downloadTool(downloadUrl);
|
||||||
|
core.setOutput('archive', archive);
|
||||||
|
return findJavaHomeInSubfolder(yield extract(archive));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.downloadAndExtractJDK = downloadAndExtractJDK;
|
exports.downloadAndExtractJDK = downloadAndExtractJDK;
|
||||||
|
4
dist/main/index.js
generated
vendored
4
dist/main/index.js
generated
vendored
@ -75195,7 +75195,9 @@ function getLatestRelease(repo) {
|
|||||||
exports.getLatestRelease = getLatestRelease;
|
exports.getLatestRelease = getLatestRelease;
|
||||||
function downloadAndExtractJDK(downloadUrl) {
|
function downloadAndExtractJDK(downloadUrl) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
return findJavaHomeInSubfolder(yield extract(yield tc.downloadTool(downloadUrl)));
|
const archive = yield tc.downloadTool(downloadUrl);
|
||||||
|
core.setOutput('archive', archive);
|
||||||
|
return findJavaHomeInSubfolder(yield extract(archive));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.downloadAndExtractJDK = downloadAndExtractJDK;
|
exports.downloadAndExtractJDK = downloadAndExtractJDK;
|
||||||
|
@ -50,9 +50,9 @@ export async function getLatestRelease(
|
|||||||
export async function downloadAndExtractJDK(
|
export async function downloadAndExtractJDK(
|
||||||
downloadUrl: string
|
downloadUrl: string
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
return findJavaHomeInSubfolder(
|
const archive = await tc.downloadTool(downloadUrl)
|
||||||
await extract(await tc.downloadTool(downloadUrl))
|
core.setOutput('archive', archive)
|
||||||
)
|
return findJavaHomeInSubfolder(await extract(archive))
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function downloadExtractAndCacheJDK(
|
export async function downloadExtractAndCacheJDK(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user