Compare commits

...

3 Commits

Author SHA1 Message Date
Fabio Niephaus
b11d36630f Temporarily use 22.3.1 for latest builds.
This is a temporary fix while we are rolling out the new GraalVM for JDK17/20 release.
2023-06-13 19:24:24 +02:00
Fabio Niephaus
babc303d7e Make parsing of components a bit more robust.
Suggested by @michael-simons
2023-04-18 09:46:32 +02:00
dependabot[bot]
5f2753d6bc Bump xml2js and @azure/core-http
Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) and [@azure/core-http](https://github.com/Azure/azure-sdk-for-js). These dependencies needed to be updated together.

Updates `xml2js` from 0.4.23 to 0.5.0
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/commits/0.5.0)

Updates `@azure/core-http` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/Azure/azure-sdk-for-js/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Changelog-for-next-generation.md)
- [Commits](https://github.com/Azure/azure-sdk-for-js/compare/@azure/core-http_3.0.0...@azure/core-http_3.0.1)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: indirect
- dependency-name: "@azure/core-http"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 08:56:29 +02:00
8 changed files with 81 additions and 44 deletions

View File

@@ -1,7 +1,7 @@
import * as path from 'path'
import * as graalvm from '../src/graalvm'
import {expect, test} from '@jest/globals'
import {getLatestRelease} from '../src/utils'
import {getTaggedRelease} from '../src/utils'
import {findGraalVMVersion, findHighestJavaVersion} from '../src/graalvm'
import {GRAALVM_RELEASES_REPO} from '../src/constants'
@@ -31,7 +31,10 @@ test('request invalid version/javaVersion', async () => {
})
test('find version/javaVersion', async () => {
const latestRelease = await getLatestRelease(GRAALVM_RELEASES_REPO)
const latestRelease = await getTaggedRelease(
GRAALVM_RELEASES_REPO,
'vm-22.3.1'
)
const latestVersion = findGraalVMVersion(latestRelease)
expect(latestVersion).not.toBe('')
const latestJavaVersion = findHighestJavaVersion(latestRelease, latestVersion)
@@ -43,7 +46,7 @@ test('find version/javaVersion', async () => {
findGraalVMVersion(invalidRelease)
} catch (err) {
if (!(err instanceof Error)) {
fail(`Unexpected non-Erro: ${err}`)
fail(`Unexpected non-Error: ${err}`)
}
error = err
}

15
dist/cleanup/index.js generated vendored
View File

@@ -70461,7 +70461,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getLatestRelease = exports.exec = void 0;
exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getTaggedRelease = exports.getLatestRelease = exports.exec = void 0;
const c = __importStar(__nccwpck_require__(9042));
const core = __importStar(__nccwpck_require__(2186));
const github = __importStar(__nccwpck_require__(5438));
@@ -70503,6 +70503,19 @@ function getLatestRelease(repo) {
});
}
exports.getLatestRelease = getLatestRelease;
function getTaggedRelease(repo, tag) {
return __awaiter(this, void 0, void 0, function* () {
const githubToken = getGitHubToken();
const options = githubToken.length > 0 ? { auth: githubToken } : {};
const octokit = new GitHubDotCom(options);
return (yield octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
owner: c.GRAALVM_GH_USER,
repo,
tag
})).data;
});
}
exports.getTaggedRelease = getTaggedRelease;
function downloadAndExtractJDK(downloadUrl) {
return __awaiter(this, void 0, void 0, function* () {
return findJavaHomeInSubfolder(yield extract(yield tc.downloadTool(downloadUrl)));

26
dist/main/index.js generated vendored
View File

@@ -70141,7 +70141,7 @@ function checkForUpdates(graalVMVersion, javaVersion) {
core.notice('Please consider upgrading your project to Java 17+. GraalVM 22.3.X releases are the last to support JDK11: https://github.com/oracle/graal/issues/5063');
return;
}
const latestRelease = yield (0, utils_1.getLatestRelease)(constants_1.GRAALVM_RELEASES_REPO);
const latestRelease = yield (0, utils_1.getTaggedRelease)(constants_1.GRAALVM_RELEASES_REPO, 'vm-22.3.1');
const latestGraalVMVersion = (0, graalvm_1.findGraalVMVersion)(latestRelease);
const selectedVersion = (0, utils_1.toSemVer)(graalVMVersion);
const latestVersion = (0, utils_1.toSemVer)(latestGraalVMVersion);
@@ -70778,10 +70778,11 @@ const GRAALVM_REPO_DEV_BUILDS = 'graalvm-ce-dev-builds';
const GRAALVM_TAG_PREFIX = 'vm-';
function setUpGraalVMLatest(gdsToken, javaVersion) {
return __awaiter(this, void 0, void 0, function* () {
const lockedVersion = '22.3.1';
if (gdsToken.length > 0) {
return setUpGraalVMRelease(gdsToken, c.VERSION_LATEST, javaVersion);
return setUpGraalVMRelease(gdsToken, lockedVersion, javaVersion);
}
const latestRelease = yield (0, utils_1.getLatestRelease)(c.GRAALVM_RELEASES_REPO);
const latestRelease = yield (0, utils_1.getTaggedRelease)(c.GRAALVM_RELEASES_REPO, GRAALVM_TAG_PREFIX + lockedVersion);
const version = findGraalVMVersion(latestRelease);
return setUpGraalVMRelease(gdsToken, version, javaVersion);
});
@@ -71002,7 +71003,9 @@ function run() {
const gdsToken = core.getInput(c.INPUT_GDS_TOKEN);
const javaVersion = core.getInput(c.INPUT_JAVA_VERSION, { required: true });
const componentsString = core.getInput(c.INPUT_COMPONENTS);
const components = componentsString.length > 0 ? componentsString.split(',') : [];
const components = componentsString.length > 0
? componentsString.split(',').map(x => x.trim())
: [];
const setJavaHome = core.getInput(c.INPUT_SET_JAVA_HOME) === 'true';
const cache = core.getInput(c.INPUT_CACHE);
const enableCheckForUpdates = core.getInput(c.INPUT_CHECK_FOR_UPDATES) === 'true';
@@ -71290,7 +71293,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getLatestRelease = exports.exec = void 0;
exports.createPRComment = exports.isPREvent = exports.toSemVer = exports.calculateSHA256 = exports.downloadExtractAndCacheJDK = exports.downloadAndExtractJDK = exports.getTaggedRelease = exports.getLatestRelease = exports.exec = void 0;
const c = __importStar(__nccwpck_require__(9042));
const core = __importStar(__nccwpck_require__(2186));
const github = __importStar(__nccwpck_require__(5438));
@@ -71332,6 +71335,19 @@ function getLatestRelease(repo) {
});
}
exports.getLatestRelease = getLatestRelease;
function getTaggedRelease(repo, tag) {
return __awaiter(this, void 0, void 0, function* () {
const githubToken = getGitHubToken();
const options = githubToken.length > 0 ? { auth: githubToken } : {};
const octokit = new GitHubDotCom(options);
return (yield octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
owner: c.GRAALVM_GH_USER,
repo,
tag
})).data;
});
}
exports.getTaggedRelease = getTaggedRelease;
function downloadAndExtractJDK(downloadUrl) {
return __awaiter(this, void 0, void 0, function* () {
return findJavaHomeInSubfolder(yield extract(yield tc.downloadTool(downloadUrl)));

37
package-lock.json generated
View File

@@ -223,9 +223,9 @@
}
},
"node_modules/@azure/core-http": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.0.tgz",
"integrity": "sha512-BxI2SlGFPPz6J1XyZNIVUf0QZLBKFX+ViFjKOkzqD18J1zOINIQ8JSBKKr+i+v8+MB6LacL6Nn/sP/TE13+s2Q==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.1.tgz",
"integrity": "sha512-A3x+um3cAPgQe42Lu7Iv/x8/fNjhL/nIoEfqFxfn30EyxK6zC13n+OUxzZBRC0IzQqssqIbt4INf5YG7lYYFtw==",
"dependencies": {
"@azure/abort-controller": "^1.0.0",
"@azure/core-auth": "^1.3.0",
@@ -240,7 +240,7 @@
"tslib": "^2.2.0",
"tunnel": "^0.0.6",
"uuid": "^8.3.0",
"xml2js": "^0.4.19"
"xml2js": "^0.5.0"
},
"engines": {
"node": ">=14.0.0"
@@ -259,18 +259,6 @@
"node": ">= 6"
}
},
"node_modules/@azure/core-http/node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/@azure/core-lro": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.5.2.tgz",
@@ -7495,9 +7483,9 @@
}
},
"@azure/core-http": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.0.tgz",
"integrity": "sha512-BxI2SlGFPPz6J1XyZNIVUf0QZLBKFX+ViFjKOkzqD18J1zOINIQ8JSBKKr+i+v8+MB6LacL6Nn/sP/TE13+s2Q==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.1.tgz",
"integrity": "sha512-A3x+um3cAPgQe42Lu7Iv/x8/fNjhL/nIoEfqFxfn30EyxK6zC13n+OUxzZBRC0IzQqssqIbt4INf5YG7lYYFtw==",
"requires": {
"@azure/abort-controller": "^1.0.0",
"@azure/core-auth": "^1.3.0",
@@ -7512,7 +7500,7 @@
"tslib": "^2.2.0",
"tunnel": "^0.0.6",
"uuid": "^8.3.0",
"xml2js": "^0.4.19"
"xml2js": "^0.5.0"
},
"dependencies": {
"form-data": {
@@ -7524,15 +7512,6 @@
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
}
}
},

View File

@@ -1,5 +1,5 @@
import * as core from '@actions/core'
import {getLatestRelease, toSemVer} from '../utils'
import {getTaggedRelease, toSemVer} from '../utils'
import {lt, major, minor, valid} from 'semver'
import {findGraalVMVersion} from '../graalvm'
import {GRAALVM_RELEASES_REPO} from '../constants'
@@ -15,7 +15,10 @@ export async function checkForUpdates(
return
}
const latestRelease = await getLatestRelease(GRAALVM_RELEASES_REPO)
const latestRelease = await getTaggedRelease(
GRAALVM_RELEASES_REPO,
'vm-22.3.1'
)
const latestGraalVMVersion = findGraalVMVersion(latestRelease)
const selectedVersion = toSemVer(graalVMVersion)
const latestVersion = toSemVer(latestGraalVMVersion)

View File

@@ -2,7 +2,8 @@ import * as c from './constants'
import {
downloadAndExtractJDK,
downloadExtractAndCacheJDK,
getLatestRelease
getLatestRelease,
getTaggedRelease
} from './utils'
import {downloadGraalVMEE} from './gds'
import {downloadTool} from '@actions/tool-cache'
@@ -15,10 +16,14 @@ export async function setUpGraalVMLatest(
gdsToken: string,
javaVersion: string
): Promise<string> {
const lockedVersion = '22.3.1'
if (gdsToken.length > 0) {
return setUpGraalVMRelease(gdsToken, c.VERSION_LATEST, javaVersion)
return setUpGraalVMRelease(gdsToken, lockedVersion, javaVersion)
}
const latestRelease = await getLatestRelease(c.GRAALVM_RELEASES_REPO)
const latestRelease = await getTaggedRelease(
c.GRAALVM_RELEASES_REPO,
GRAALVM_TAG_PREFIX + lockedVersion
)
const version = findGraalVMVersion(latestRelease)
return setUpGraalVMRelease(gdsToken, version, javaVersion)
}

View File

@@ -19,7 +19,9 @@ async function run(): Promise<void> {
const javaVersion = core.getInput(c.INPUT_JAVA_VERSION, {required: true})
const componentsString: string = core.getInput(c.INPUT_COMPONENTS)
const components: string[] =
componentsString.length > 0 ? componentsString.split(',') : []
componentsString.length > 0
? componentsString.split(',').map(x => x.trim())
: []
const setJavaHome = core.getInput(c.INPUT_SET_JAVA_HOME) === 'true'
const cache = core.getInput(c.INPUT_CACHE)
const enableCheckForUpdates =

View File

@@ -47,6 +47,22 @@ export async function getLatestRelease(
).data
}
export async function getTaggedRelease(
repo: string,
tag: string
): Promise<c.LatestReleaseResponse['data']> {
const githubToken = getGitHubToken()
const options = githubToken.length > 0 ? {auth: githubToken} : {}
const octokit = new GitHubDotCom(options)
return (
await octokit.request('GET /repos/{owner}/{repo}/releases/tags/{tag}', {
owner: c.GRAALVM_GH_USER,
repo,
tag
})
).data
}
export async function downloadAndExtractJDK(
downloadUrl: string
): Promise<string> {