Compare commits

...
5 Commits
Author SHA1 Message Date
Ross Brodbeck 9fbc767707 Merge pull request #30 from hross/master
Change getFileName to do architecture lookups and add arm support
2019-11-25 07:17:19 -05:00
Ross Brodbeck 0cbaec8e4b Change getFileName to do architecture lookups and add arm support 2019-11-21 10:23:32 -05:00
Hayden Faulds 75259a5ae0 Merge pull request #20 from subosito/golang-dl
Use golang-dl release data
2019-09-16 15:42:36 +01:00
Alif Rachmawadi bc6edb526d update test assertion 2019-09-05 13:27:28 +07:00
Alif Rachmawadi 21620fff65 use golang-dl release data 2019-09-05 13:09:55 +07:00
5 changed files with 10228 additions and 2499 deletions

No files matched your search

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+5 -4
View File
@@ -43,9 +43,10 @@ describe('installer tests', () => {
describe('the latest release of a go version', () => {
beforeEach(() => {
nock('https://api.github.com')
.get('/repos/golang/go/git/refs/tags')
.replyWithFile(200, path.join(dataDir, 'golang-tags.json'));
nock('https://golang.org')
.get('/dl/')
.query({mode: 'json', include: 'all'})
.replyWithFile(200, path.join(dataDir, 'golang-dl.json'));
});
afterEach(() => {
@@ -79,7 +80,7 @@ describe('installer tests', () => {
it('Acquires latest release version of go if using 1.x and no matching version is installed', async () => {
await installer.getGo('1.x');
const goDir = path.join(toolDir, 'go', '1.13.0-beta1', os.arch());
const goDir = path.join(toolDir, 'go', '1.13.0', os.arch());
expect(fs.existsSync(`${goDir}.complete`)).toBe(true);
if (IS_WINDOWS) {
+11 -5
View File
@@ -72,6 +72,7 @@ function acquireGo(version) {
//
let fileName = getFileName(version);
let downloadUrl = getDownloadUrl(fileName);
core.debug('Downloading Go from: ' + downloadUrl);
let downloadPath = null;
try {
downloadPath = yield tc.downloadTool(downloadUrl);
@@ -102,8 +103,14 @@ function acquireGo(version) {
});
}
function getFileName(version) {
const arches = {
x64: 'amd64',
arm: 'armv6l',
arm64: 'arm64',
default: '386'
};
const platform = osPlat == 'win32' ? 'windows' : osPlat;
const arch = osArch == 'x64' ? 'amd64' : '386';
const arch = arches[osArch] || arches['default'];
const ext = osPlat == 'win32' ? 'zip' : 'tar.gz';
const filename = util.format('go%s.%s-%s.%s', version, platform, arch, ext);
return filename;
@@ -186,10 +193,9 @@ function getLatestVersion(version) {
function getAvailableVersions() {
return __awaiter(this, void 0, void 0, function* () {
let rest = new restm.RestClient('setup-go');
let tags = (yield rest.get('https://api.github.com/repos/golang/go/git/refs/tags')).result || [];
return tags
.filter(tag => tag.ref.match(/go\d+\.[\w\.]+/g))
.map(tag => tag.ref.replace('refs/tags/go', ''));
let tags = (yield rest.get('https://golang.org/dl/?mode=json&include=all'))
.result || [];
return tags.map(tag => tag.version.replace('go', ''));
});
}
function getPossibleVersions(version) {
+16 -8
View File
@@ -57,6 +57,9 @@ async function acquireGo(version: string): Promise<string> {
//
let fileName: string = getFileName(version);
let downloadUrl: string = getDownloadUrl(fileName);
core.debug('Downloading Go from: ' + downloadUrl);
let downloadPath: string | null = null;
try {
downloadPath = await tc.downloadTool(downloadUrl);
@@ -89,8 +92,15 @@ async function acquireGo(version: string): Promise<string> {
}
function getFileName(version: string): string {
const arches: {[arch: string]: string} = {
x64: 'amd64',
arm: 'armv6l',
arm64: 'arm64',
default: '386'
};
const platform: string = osPlat == 'win32' ? 'windows' : osPlat;
const arch: string = osArch == 'x64' ? 'amd64' : '386';
const arch: string = arches[osArch] || arches['default'];
const ext: string = osPlat == 'win32' ? 'zip' : 'tar.gz';
const filename: string = util.format(
'go%s.%s-%s.%s',
@@ -99,6 +109,7 @@ function getFileName(version: string): string {
arch,
ext
);
return filename;
}
@@ -187,19 +198,16 @@ async function getLatestVersion(version: string): Promise<string> {
}
interface IGoRef {
ref: string;
version: string;
}
async function getAvailableVersions(): Promise<string[]> {
let rest: restm.RestClient = new restm.RestClient('setup-go');
let tags: IGoRef[] =
(await rest.get<IGoRef[]>(
'https://api.github.com/repos/golang/go/git/refs/tags'
)).result || [];
(await rest.get<IGoRef[]>('https://golang.org/dl/?mode=json&include=all'))
.result || [];
return tags
.filter(tag => tag.ref.match(/go\d+\.[\w\.]+/g))
.map(tag => tag.ref.replace('refs/tags/go', ''));
return tags.map(tag => tag.version.replace('go', ''));
}
async function getPossibleVersions(version: string): Promise<string[]> {