Compare commits

...
3 Commits
Author SHA1 Message Date
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 10208 additions and 2497 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', () => { describe('the latest release of a go version', () => {
beforeEach(() => { beforeEach(() => {
nock('https://api.github.com') nock('https://golang.org')
.get('/repos/golang/go/git/refs/tags') .get('/dl/')
.replyWithFile(200, path.join(dataDir, 'golang-tags.json')); .query({mode: 'json', include: 'all'})
.replyWithFile(200, path.join(dataDir, 'golang-dl.json'));
}); });
afterEach(() => { 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 () => { it('Acquires latest release version of go if using 1.x and no matching version is installed', async () => {
await installer.getGo('1.x'); 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); expect(fs.existsSync(`${goDir}.complete`)).toBe(true);
if (IS_WINDOWS) { if (IS_WINDOWS) {
+3 -4
View File
@@ -186,10 +186,9 @@ function getLatestVersion(version) {
function getAvailableVersions() { function getAvailableVersions() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
let rest = new restm.RestClient('setup-go'); let rest = new restm.RestClient('setup-go');
let tags = (yield rest.get('https://api.github.com/repos/golang/go/git/refs/tags')).result || []; let tags = (yield rest.get('https://golang.org/dl/?mode=json&include=all'))
return tags .result || [];
.filter(tag => tag.ref.match(/go\d+\.[\w\.]+/g)) return tags.map(tag => tag.version.replace('go', ''));
.map(tag => tag.ref.replace('refs/tags/go', ''));
}); });
} }
function getPossibleVersions(version) { function getPossibleVersions(version) {
+4 -7
View File
@@ -187,19 +187,16 @@ async function getLatestVersion(version: string): Promise<string> {
} }
interface IGoRef { interface IGoRef {
ref: string; version: string;
} }
async function getAvailableVersions(): Promise<string[]> { async function getAvailableVersions(): Promise<string[]> {
let rest: restm.RestClient = new restm.RestClient('setup-go'); let rest: restm.RestClient = new restm.RestClient('setup-go');
let tags: IGoRef[] = let tags: IGoRef[] =
(await rest.get<IGoRef[]>( (await rest.get<IGoRef[]>('https://golang.org/dl/?mode=json&include=all'))
'https://api.github.com/repos/golang/go/git/refs/tags' .result || [];
)).result || [];
return tags return tags.map(tag => tag.version.replace('go', ''));
.filter(tag => tag.ref.match(/go\d+\.[\w\.]+/g))
.map(tag => tag.ref.replace('refs/tags/go', ''));
} }
async function getPossibleVersions(version: string): Promise<string[]> { async function getPossibleVersions(version: string): Promise<string[]> {