Skip to content

Commit 5b57cbd

Browse files
committed
Action: Move the GCC download info into a separate file.
1 parent e773905 commit 5b57cbd

File tree

5 files changed

+888
-874
lines changed

5 files changed

+888
-874
lines changed

__tests__/checklinks.cionly.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import fetch from 'node-fetch';
22

33
import * as gcc from '../src/gcc';
4+
import {GccDownloadInfo} from '../src/gcc-versions';
45

56
jest.setTimeout(5 * 60 * 1000);
67

@@ -9,7 +10,7 @@ describe("Check links work and don't redirect.", () => {
910
for (const platform of ['darwin', 'linux', 'win32']) {
1011
for (const arch of ['x64', 'arm64']) {
1112
test(`URL ${version} ${platform} ${arch} is working`, async () => {
12-
let dist: gcc.UrlData;
13+
let dist: GccDownloadInfo;
1314
// Not all releases have builds for all platforms/archs
1415
try {
1516
dist = await gcc.distributionUrl(version, platform, arch);

dist/index.js

Lines changed: 65 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,29 @@
11
require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap
22
/******/ var __webpack_modules__ = ({
33

4-
/***/ 7138:
5-
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
4+
/***/ 1551:
5+
/***/ ((__unused_webpack_module, exports) => {
66

77
"use strict";
88

9-
/* eslint-disable @typescript-eslint/naming-convention */
10-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11-
if (k2 === undefined) k2 = k;
12-
var desc = Object.getOwnPropertyDescriptor(m, k);
13-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14-
desc = { enumerable: true, get: function() { return m[k]; } };
15-
}
16-
Object.defineProperty(o, k2, desc);
17-
}) : (function(o, m, k, k2) {
18-
if (k2 === undefined) k2 = k;
19-
o[k2] = m[k];
20-
}));
21-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22-
Object.defineProperty(o, "default", { enumerable: true, value: v });
23-
}) : function(o, v) {
24-
o["default"] = v;
25-
});
26-
var __importStar = (this && this.__importStar) || function (mod) {
27-
if (mod && mod.__esModule) return mod;
28-
var result = {};
29-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
30-
__setModuleDefault(result, mod);
31-
return result;
32-
};
33-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
34-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
35-
return new (P || (P = Promise))(function (resolve, reject) {
36-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
37-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
38-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
39-
step((generator = generator.apply(thisArg, _arguments || [])).next());
40-
});
41-
};
42-
var __importDefault = (this && this.__importDefault) || function (mod) {
43-
return (mod && mod.__esModule) ? mod : { "default": mod };
44-
};
459
Object.defineProperty(exports, "__esModule", ({ value: true }));
46-
exports.gccVersionToSemver = exports.distributionUrl = exports.latestGccVersion = exports.availableVersions = void 0;
47-
const core = __importStar(__nccwpck_require__(2186));
48-
const http_client_1 = __nccwpck_require__(6255);
49-
const valid_1 = __importDefault(__nccwpck_require__(9601));
50-
const versions = {
10+
exports.gccVersions = void 0;
11+
exports.gccVersions = {
5112
'15.2.Rel1': {
5213
win32: {
53-
url: 'https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-mingw-w64-x86_64-arm-none-eabi.zip',
14+
url: 'https://armkeil.blob.core.windows.net/developer/files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-mingw-w64-x86_64-arm-none-eabi.zip',
5415
md5: '88cce5f8c71445cf54dfa1667b3ae6ab',
5516
},
5617
mac_arm64: {
57-
url: 'https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-darwin-arm64-arm-none-eabi.tar.xz',
18+
url: 'https://armkeil.blob.core.windows.net/developer/files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-darwin-arm64-arm-none-eabi.tar.xz',
5819
md5: 'e91fd6348ba0f3e5ec35eeba1ad7e2b8',
5920
},
6021
linux_x86_64: {
61-
url: 'https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-x86_64-arm-none-eabi.tar.xz',
22+
url: 'https://armkeil.blob.core.windows.net/developer/files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-x86_64-arm-none-eabi.tar.xz',
6223
md5: 'da62bef8821e7fc2a9b5d023871036e0',
6324
},
6425
linux_aarch64: {
65-
url: 'https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi.tar.xz',
26+
url: 'https://armkeil.blob.core.windows.net/developer/files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi.tar.xz',
6627
md5: '458c5d9b362726c9ac20c96f1894ae13',
6728
},
6829
},
@@ -771,6 +732,57 @@ const versions = {
771732
},
772733
},
773734
};
735+
736+
737+
/***/ }),
738+
739+
/***/ 7138:
740+
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
741+
742+
"use strict";
743+
744+
/* eslint-disable @typescript-eslint/naming-convention */
745+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
746+
if (k2 === undefined) k2 = k;
747+
var desc = Object.getOwnPropertyDescriptor(m, k);
748+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
749+
desc = { enumerable: true, get: function() { return m[k]; } };
750+
}
751+
Object.defineProperty(o, k2, desc);
752+
}) : (function(o, m, k, k2) {
753+
if (k2 === undefined) k2 = k;
754+
o[k2] = m[k];
755+
}));
756+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
757+
Object.defineProperty(o, "default", { enumerable: true, value: v });
758+
}) : function(o, v) {
759+
o["default"] = v;
760+
});
761+
var __importStar = (this && this.__importStar) || function (mod) {
762+
if (mod && mod.__esModule) return mod;
763+
var result = {};
764+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
765+
__setModuleDefault(result, mod);
766+
return result;
767+
};
768+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
769+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
770+
return new (P || (P = Promise))(function (resolve, reject) {
771+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
772+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
773+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
774+
step((generator = generator.apply(thisArg, _arguments || [])).next());
775+
});
776+
};
777+
var __importDefault = (this && this.__importDefault) || function (mod) {
778+
return (mod && mod.__esModule) ? mod : { "default": mod };
779+
};
780+
Object.defineProperty(exports, "__esModule", ({ value: true }));
781+
exports.gccVersionToSemver = exports.distributionUrl = exports.latestGccVersion = exports.availableVersions = void 0;
782+
const core = __importStar(__nccwpck_require__(2186));
783+
const http_client_1 = __nccwpck_require__(6255);
784+
const valid_1 = __importDefault(__nccwpck_require__(9601));
785+
const gcc_versions_1 = __nccwpck_require__(1551);
774786
// Some Arm download endpoints reject unfamiliar user agents with a challenge page redirect.
775787
const redirectHttpClient = new http_client_1.HttpClient('curl/8.5.0 (arm-none-eabi-gcc-action)', [], { allowRedirects: false });
776788
function followRedirects(originalUrl) {
@@ -817,12 +829,12 @@ function followRedirects(originalUrl) {
817829
});
818830
}
819831
function availableVersions() {
820-
return Object.keys(versions);
832+
return Object.keys(gcc_versions_1.gccVersions);
821833
}
822834
exports.availableVersions = availableVersions;
823835
function latestGccVersion() {
824836
// Since ES6 (from node v8.x) JS objects are ordered
825-
return Object.keys(versions)[0];
837+
return Object.keys(gcc_versions_1.gccVersions)[0];
826838
}
827839
exports.latestGccVersion = latestGccVersion;
828840
function distributionUrl(version, platform, arch) {
@@ -832,7 +844,7 @@ function distributionUrl(version, platform, arch) {
832844
switch (platform) {
833845
case 'darwin':
834846
if (arch === 'arm64') {
835-
if (versions[version].hasOwnProperty('mac_arm64')) {
847+
if (gcc_versions_1.gccVersions[version].hasOwnProperty('mac_arm64')) {
836848
osName = 'mac_arm64';
837849
}
838850
else {
@@ -860,14 +872,14 @@ function distributionUrl(version, platform, arch) {
860872
default:
861873
throw new Error(`platform ${platform} is not supported`);
862874
}
863-
if (!versions.hasOwnProperty(version)) {
875+
if (!gcc_versions_1.gccVersions.hasOwnProperty(version)) {
864876
throw new Error(`invalid GCC version ${version}. Available: ${availableVersions()}`);
865877
}
866-
if (!versions[version].hasOwnProperty(osName)) {
878+
if (!gcc_versions_1.gccVersions[version].hasOwnProperty(osName)) {
867879
throw new Error(`invalid platform ${osName} for GCC version ${version}.\n` +
868880
'The action README has the list of available versions and platforms.');
869881
}
870-
const distData = versions[version][osName];
882+
const distData = gcc_versions_1.gccVersions[version][osName];
871883
// Arm download files have been moved between servers in the past, so
872884
// we try to resolve any redirects here up-front to avoid issues later
873885
let resolvedUrl = distData.url;

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)