Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2e45750012 | |||
| ae2b61dbc6 | |||
| c190c18feb | |||
| 67aec007b3 | |||
| ebb356cc4e | |||
| f4f1212c88 |
@@ -3,7 +3,7 @@ name: Validate cache
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- test-macos-x64-runner
|
||||
- releases/*
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
needs: gradle-save
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
@@ -93,7 +93,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
needs: maven-save
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -121,7 +121,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-22.04]
|
||||
os: [macos-14-large]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
@@ -133,7 +133,7 @@ jobs:
|
||||
java-version: '11'
|
||||
cache: sbt
|
||||
- name: Setup SBT
|
||||
if: matrix.os == 'macos-13'
|
||||
if: matrix.os == 'macos-14-large'
|
||||
run: |
|
||||
echo ""Installing SBT...""
|
||||
brew install sbt
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
run: sbt update
|
||||
|
||||
- name: Check files to cache on macos-latest
|
||||
if: matrix.os == 'macos-13'
|
||||
if: matrix.os == 'macos-14-large'
|
||||
run: |
|
||||
if [ ! -d ~/Library/Caches/Coursier ]; then
|
||||
echo "::error::The ~/Library/Caches/Coursier directory does not exist unexpectedly"
|
||||
@@ -170,7 +170,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-22.04]
|
||||
os: [macos-14-large]
|
||||
needs: sbt-save
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -184,7 +184,7 @@ jobs:
|
||||
cache: sbt
|
||||
|
||||
- name: Confirm that ~/Library/Caches/Coursier directory has been made
|
||||
if: matrix.os == 'macos-13'
|
||||
if: matrix.os == 'macos-14-large'
|
||||
run: |
|
||||
if [ ! -d ~/Library/Caches/Coursier ]; then
|
||||
echo "::error::The ~/Library/Caches/Coursier directory does not exist unexpectedly"
|
||||
|
||||
@@ -3,7 +3,7 @@ name: Validate Java e2e
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- test-macos-x64-runner
|
||||
- releases/*
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
distribution: [
|
||||
'temurin',
|
||||
'adopt',
|
||||
@@ -39,10 +39,10 @@ jobs:
|
||||
- distribution: microsoft
|
||||
version: 8
|
||||
- distribution: dragonwell
|
||||
os: macos-13
|
||||
os: macos-14-large
|
||||
include:
|
||||
- distribution: oracle
|
||||
os: macos-13
|
||||
os: macos-14-large
|
||||
version: 17
|
||||
- distribution: oracle
|
||||
os: windows-latest
|
||||
@@ -220,7 +220,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
version: ['17-ea', '15.0.0-ea.14']
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -286,7 +286,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-13, windows-latest, ubuntu-latest]
|
||||
os: [macos-14-large]
|
||||
distribution:
|
||||
['temurin', 'zulu', 'liberica', 'semeru', 'sapmachine', 'jetbrains']
|
||||
java-package: ['jre']
|
||||
|
||||
@@ -2,7 +2,8 @@ name: 'Publish Immutable Action Version'
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: undici
|
||||
version: 5.28.5
|
||||
version: 5.29.0
|
||||
type: npm
|
||||
summary: An HTTP/1.1 client, written from scratch for Node.js
|
||||
homepage: https://undici.nodejs.org
|
||||
|
||||
+1453
-1453
File diff suppressed because it is too large
Load Diff
@@ -41,9 +41,7 @@ describe('getAvailableVersions', () => {
|
||||
expect(availableVersions).not.toBeNull();
|
||||
|
||||
const length =
|
||||
os.platform() === 'win32'
|
||||
? manifestData.length - 1
|
||||
: manifestData.length + 1;
|
||||
os.platform() === 'win32' ? manifestData.length : manifestData.length + 2;
|
||||
expect(availableVersions.length).toBe(length);
|
||||
}, 10_000);
|
||||
});
|
||||
|
||||
Vendored
+31
-31
@@ -71116,7 +71116,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { parseSetCookie } = __nccwpck_require__(4408)
|
||||
const { stringify, getHeadersList } = __nccwpck_require__(3121)
|
||||
const { stringify } = __nccwpck_require__(3121)
|
||||
const { webidl } = __nccwpck_require__(1744)
|
||||
const { Headers } = __nccwpck_require__(554)
|
||||
|
||||
@@ -71192,14 +71192,13 @@ function getSetCookies (headers) {
|
||||
|
||||
webidl.brandCheck(headers, Headers, { strict: false })
|
||||
|
||||
const cookies = getHeadersList(headers).cookies
|
||||
const cookies = headers.getSetCookie()
|
||||
|
||||
if (!cookies) {
|
||||
return []
|
||||
}
|
||||
|
||||
// In older versions of undici, cookies is a list of name:value.
|
||||
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||
return cookies.map((pair) => parseSetCookie(pair))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71627,14 +71626,15 @@ module.exports = {
|
||||
/***/ }),
|
||||
|
||||
/***/ 3121:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
/***/ ((module) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const assert = __nccwpck_require__(9491)
|
||||
const { kHeadersList } = __nccwpck_require__(2785)
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isCTLExcludingHtab (value) {
|
||||
if (value.length === 0) {
|
||||
return false
|
||||
@@ -71895,31 +71895,13 @@ function stringify (cookie) {
|
||||
return out.join('; ')
|
||||
}
|
||||
|
||||
let kHeadersListNode
|
||||
|
||||
function getHeadersList (headers) {
|
||||
if (headers[kHeadersList]) {
|
||||
return headers[kHeadersList]
|
||||
}
|
||||
|
||||
if (!kHeadersListNode) {
|
||||
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||
(symbol) => symbol.description === 'headers list'
|
||||
)
|
||||
|
||||
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||
}
|
||||
|
||||
const headersList = headers[kHeadersListNode]
|
||||
assert(headersList)
|
||||
|
||||
return headersList
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isCTLExcludingHtab,
|
||||
stringify,
|
||||
getHeadersList
|
||||
validateCookieName,
|
||||
validateCookiePath,
|
||||
validateCookieValue,
|
||||
toIMFDate,
|
||||
stringify
|
||||
}
|
||||
|
||||
|
||||
@@ -75923,6 +75905,7 @@ const {
|
||||
isValidHeaderName,
|
||||
isValidHeaderValue
|
||||
} = __nccwpck_require__(2538)
|
||||
const util = __nccwpck_require__(3837)
|
||||
const { webidl } = __nccwpck_require__(1744)
|
||||
const assert = __nccwpck_require__(9491)
|
||||
|
||||
@@ -76476,6 +76459,9 @@ Object.defineProperties(Headers.prototype, {
|
||||
[Symbol.toStringTag]: {
|
||||
value: 'Headers',
|
||||
configurable: true
|
||||
},
|
||||
[util.inspect.custom]: {
|
||||
enumerable: false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -85652,6 +85638,20 @@ class Pool extends PoolBase {
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
||||
for (const target of targets) {
|
||||
// Do not use kRemoveClient here, as it will close the client,
|
||||
// but the client cannot be closed in this state.
|
||||
const idx = this[kClients].indexOf(target)
|
||||
if (idx !== -1) {
|
||||
this[kClients].splice(idx, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
|
||||
Vendored
+75
-45
@@ -95970,7 +95970,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { parseSetCookie } = __nccwpck_require__(24408)
|
||||
const { stringify, getHeadersList } = __nccwpck_require__(43121)
|
||||
const { stringify } = __nccwpck_require__(43121)
|
||||
const { webidl } = __nccwpck_require__(21744)
|
||||
const { Headers } = __nccwpck_require__(10554)
|
||||
|
||||
@@ -96046,14 +96046,13 @@ function getSetCookies (headers) {
|
||||
|
||||
webidl.brandCheck(headers, Headers, { strict: false })
|
||||
|
||||
const cookies = getHeadersList(headers).cookies
|
||||
const cookies = headers.getSetCookie()
|
||||
|
||||
if (!cookies) {
|
||||
return []
|
||||
}
|
||||
|
||||
// In older versions of undici, cookies is a list of name:value.
|
||||
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||
return cookies.map((pair) => parseSetCookie(pair))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96481,14 +96480,15 @@ module.exports = {
|
||||
/***/ }),
|
||||
|
||||
/***/ 43121:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
/***/ ((module) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const assert = __nccwpck_require__(39491)
|
||||
const { kHeadersList } = __nccwpck_require__(72785)
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isCTLExcludingHtab (value) {
|
||||
if (value.length === 0) {
|
||||
return false
|
||||
@@ -96749,31 +96749,13 @@ function stringify (cookie) {
|
||||
return out.join('; ')
|
||||
}
|
||||
|
||||
let kHeadersListNode
|
||||
|
||||
function getHeadersList (headers) {
|
||||
if (headers[kHeadersList]) {
|
||||
return headers[kHeadersList]
|
||||
}
|
||||
|
||||
if (!kHeadersListNode) {
|
||||
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||
(symbol) => symbol.description === 'headers list'
|
||||
)
|
||||
|
||||
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||
}
|
||||
|
||||
const headersList = headers[kHeadersListNode]
|
||||
assert(headersList)
|
||||
|
||||
return headersList
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isCTLExcludingHtab,
|
||||
stringify,
|
||||
getHeadersList
|
||||
validateCookieName,
|
||||
validateCookiePath,
|
||||
validateCookieValue,
|
||||
toIMFDate,
|
||||
stringify
|
||||
}
|
||||
|
||||
|
||||
@@ -100777,6 +100759,7 @@ const {
|
||||
isValidHeaderName,
|
||||
isValidHeaderValue
|
||||
} = __nccwpck_require__(52538)
|
||||
const util = __nccwpck_require__(73837)
|
||||
const { webidl } = __nccwpck_require__(21744)
|
||||
const assert = __nccwpck_require__(39491)
|
||||
|
||||
@@ -101330,6 +101313,9 @@ Object.defineProperties(Headers.prototype, {
|
||||
[Symbol.toStringTag]: {
|
||||
value: 'Headers',
|
||||
configurable: true
|
||||
},
|
||||
[util.inspect.custom]: {
|
||||
enumerable: false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -110506,6 +110492,20 @@ class Pool extends PoolBase {
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
||||
for (const target of targets) {
|
||||
// Do not use kRemoveClient here, as it will close the client,
|
||||
// but the client cannot be closed in this state.
|
||||
const idx = this[kClients].indexOf(target)
|
||||
if (idx !== -1) {
|
||||
this[kClients].splice(idx, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
@@ -128793,15 +128793,38 @@ class JavaBase {
|
||||
}
|
||||
else {
|
||||
core.info('Trying to resolve the latest version from remote');
|
||||
const javaRelease = yield this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
try {
|
||||
const javaRelease = yield this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
}
|
||||
else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = yield this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
}
|
||||
}
|
||||
else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = yield this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
catch (error) {
|
||||
if (error instanceof tc.HTTPError) {
|
||||
if (error.httpStatusCode === 403) {
|
||||
core.error('HTTP 403: Permission denied or access restricted.');
|
||||
}
|
||||
else if (error.httpStatusCode === 429) {
|
||||
core.warning('HTTP 429: Rate limit exceeded. Please retry later.');
|
||||
}
|
||||
else {
|
||||
core.error(`HTTP ${error.httpStatusCode}: ${error.message}`);
|
||||
}
|
||||
}
|
||||
else {
|
||||
const message = error instanceof Error ? error.message : JSON.stringify(error);
|
||||
core.error(`Java setup failed due to network issue or timeout: ${message}`);
|
||||
}
|
||||
if (error instanceof Error && error.stack) {
|
||||
core.debug(error.stack);
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// JDK folder may contain postfix "Contents/Home" on macOS
|
||||
@@ -129672,7 +129695,12 @@ class JetBrainsDistribution extends base_installer_1.JavaBase {
|
||||
// url is identical except page_index so print it once for debug
|
||||
core.debug(`Gathering available versions from '${rawUrl}'`);
|
||||
}
|
||||
const paginationPage = (yield this.http.getJson(rawUrl, requestHeaders)).result;
|
||||
const paginationPageResult = (yield this.http.getJson(rawUrl, requestHeaders)).result;
|
||||
if (!paginationPageResult || paginationPageResult.length === 0) {
|
||||
// break infinity loop because we have reached end of pagination
|
||||
break;
|
||||
}
|
||||
const paginationPage = paginationPageResult.filter(version => this.stable ? !version.prerelease : version.prerelease);
|
||||
if (!paginationPage || paginationPage.length === 0) {
|
||||
// break infinity loop because we have reached end of pagination
|
||||
break;
|
||||
@@ -129680,9 +129708,11 @@ class JetBrainsDistribution extends base_installer_1.JavaBase {
|
||||
rawVersions.push(...paginationPage);
|
||||
page_index++;
|
||||
}
|
||||
// Add versions not available from the API but are downloadable
|
||||
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
||||
rawVersions.push(...hidden.map(tag => ({ tag_name: tag, name: tag })));
|
||||
if (this.stable) {
|
||||
// Add versions not available from the API but are downloadable
|
||||
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
||||
rawVersions.push(...hidden.map(tag => ({ tag_name: tag, name: tag, prerelease: false })));
|
||||
}
|
||||
const versions0 = rawVersions.map((v) => __awaiter(this, void 0, void 0, function* () {
|
||||
var _a;
|
||||
// Release tags look like one of these:
|
||||
@@ -129701,7 +129731,7 @@ class JetBrainsDistribution extends base_installer_1.JavaBase {
|
||||
.replace('-', '');
|
||||
const vsplit = vstring.split('b');
|
||||
let semver = vsplit[0];
|
||||
const build = +vsplit[1];
|
||||
const build = vsplit[1];
|
||||
// Normalize semver
|
||||
if (!semver.includes('.') && !semver.includes('_'))
|
||||
semver = `${semver}.0.0`;
|
||||
@@ -130185,7 +130215,7 @@ class MicrosoftDistributions extends base_installer_1.JavaBase {
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
core.debug(`Http request for microsoft-openjdk-versions.json failed with status code: ${response === null || response === void 0 ? void 0 : response.statusCode}`);
|
||||
core.debug(`Http request for microsoft-openjdk-versions.json failed with status code: ${response === null || response === void 0 ? void 0 : response.statusCode}. Error: ${err}`);
|
||||
return null;
|
||||
}
|
||||
if (response.result) {
|
||||
|
||||
Generated
+224
-229
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -40,12 +40,12 @@
|
||||
"@types/jest": "^29.5.14",
|
||||
"@types/node": "^20.11.24",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
||||
"@typescript-eslint/parser": "^5.54.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.35.1",
|
||||
"@typescript-eslint/parser": "^8.35.1",
|
||||
"@vercel/ncc": "^0.38.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^8.6.0",
|
||||
"eslint-plugin-jest": "^27.9.0",
|
||||
"eslint-plugin-jest": "^29.0.1",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"jest": "^29.7.0",
|
||||
"jest-circus": "^29.7.0",
|
||||
|
||||
@@ -51,14 +51,36 @@ export abstract class JavaBase {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
} else {
|
||||
core.info('Trying to resolve the latest version from remote');
|
||||
const javaRelease = await this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
if (foundJava?.version === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
} else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = await this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
try {
|
||||
const javaRelease = await this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
if (foundJava?.version === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
} else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = await this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
}
|
||||
} catch (error: any) {
|
||||
if (error instanceof tc.HTTPError) {
|
||||
if (error.httpStatusCode === 403) {
|
||||
core.error('HTTP 403: Permission denied or access restricted.');
|
||||
} else if (error.httpStatusCode === 429) {
|
||||
core.warning('HTTP 429: Rate limit exceeded. Please retry later.');
|
||||
} else {
|
||||
core.error(`HTTP ${error.httpStatusCode}: ${error.message}`);
|
||||
}
|
||||
} else {
|
||||
const message =
|
||||
error instanceof Error ? error.message : JSON.stringify(error);
|
||||
core.error(
|
||||
`Java setup failed due to network issue or timeout: ${message}`
|
||||
);
|
||||
}
|
||||
if (error instanceof Error && error.stack) {
|
||||
core.debug(error.stack);
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -113,9 +113,18 @@ export class JetBrainsDistribution extends JavaBase {
|
||||
core.debug(`Gathering available versions from '${rawUrl}'`);
|
||||
}
|
||||
|
||||
const paginationPage = (
|
||||
const paginationPageResult = (
|
||||
await this.http.getJson<IJetBrainsRawVersion[]>(rawUrl, requestHeaders)
|
||||
).result;
|
||||
if (!paginationPageResult || paginationPageResult.length === 0) {
|
||||
// break infinity loop because we have reached end of pagination
|
||||
break;
|
||||
}
|
||||
|
||||
const paginationPage: IJetBrainsRawVersion[] =
|
||||
paginationPageResult.filter(version =>
|
||||
this.stable ? !version.prerelease : version.prerelease
|
||||
);
|
||||
if (!paginationPage || paginationPage.length === 0) {
|
||||
// break infinity loop because we have reached end of pagination
|
||||
break;
|
||||
@@ -125,9 +134,13 @@ export class JetBrainsDistribution extends JavaBase {
|
||||
page_index++;
|
||||
}
|
||||
|
||||
// Add versions not available from the API but are downloadable
|
||||
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
||||
rawVersions.push(...hidden.map(tag => ({tag_name: tag, name: tag})));
|
||||
if (this.stable) {
|
||||
// Add versions not available from the API but are downloadable
|
||||
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
||||
rawVersions.push(
|
||||
...hidden.map(tag => ({tag_name: tag, name: tag, prerelease: false}))
|
||||
);
|
||||
}
|
||||
|
||||
const versions0 = rawVersions.map(async v => {
|
||||
// Release tags look like one of these:
|
||||
@@ -148,7 +161,7 @@ export class JetBrainsDistribution extends JavaBase {
|
||||
|
||||
const vsplit = vstring.split('b');
|
||||
let semver = vsplit[0];
|
||||
const build = +vsplit[1];
|
||||
const build = vsplit[1];
|
||||
|
||||
// Normalize semver
|
||||
if (!semver.includes('.') && !semver.includes('_'))
|
||||
|
||||
@@ -3,11 +3,12 @@
|
||||
export interface IJetBrainsRawVersion {
|
||||
tag_name: string;
|
||||
name: string;
|
||||
prerelease: boolean;
|
||||
}
|
||||
|
||||
export interface IJetBrainsVersion {
|
||||
tag_name: string;
|
||||
semver: string;
|
||||
build: number;
|
||||
build: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ export class MicrosoftDistributions extends JavaBase {
|
||||
}
|
||||
} catch (err) {
|
||||
core.debug(
|
||||
`Http request for microsoft-openjdk-versions.json failed with status code: ${response?.statusCode}`
|
||||
`Http request for microsoft-openjdk-versions.json failed with status code: ${response?.statusCode}. Error: ${err}`
|
||||
);
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user