diff --git a/README.md b/README.md index cd52462..ab19641 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,22 @@ This action sets up a go environment for use in actions by: - optionally downloading and caching a version of Go by version and adding to PATH - registering problem matchers for error output +# V2 Beta + +The V2 beta offers: +- Proxy Support +- stable input +- Bug Fixes (including issues around version matching and semver) + +```yaml +steps: +- uses: actions/checkout@v2 +- uses: actions/setup-go@v2-beta + with: + go-version: '^1.13.1' # The Go version to download (if necessary) and use. +- run: go version +``` + # Usage See [action.yml](action.yml) diff --git a/__tests__/setup-go.test.ts b/__tests__/setup-go.test.ts index 200b345..35b0225 100644 --- a/__tests__/setup-go.test.ts +++ b/__tests__/setup-go.test.ts @@ -20,7 +20,6 @@ describe('setup-go', () => { let archSpy: jest.SpyInstance; let dlSpy: jest.SpyInstance; let exSpy: jest.SpyInstance; - //let http: httpm.HttpClient = new httpm.HttpClient('setup-go-tests'); beforeEach(() => { tcSpy = jest.spyOn(tc, 'find'); @@ -31,6 +30,7 @@ describe('setup-go', () => { dlSpy = jest.spyOn(tc, 'downloadTool'); exSpy = jest.spyOn(tc, 'extractTar'); getSpy = jest.spyOn(im, 'getVersions'); + getSpy.mockImplementation(() => goJsonData); cnSpy.mockImplementation(line => { // uncomment to debug //process.stderr.write('write2:' + line + '\n'); @@ -38,8 +38,7 @@ describe('setup-go', () => { }); afterEach(() => { - tcSpy.mockClear(); - cnSpy.mockClear(); + jest.resetAllMocks(); jest.clearAllMocks(); }); @@ -75,11 +74,10 @@ describe('setup-go', () => { expect(cnSpy).toHaveBeenCalledWith('::error::' + errMsg + os.EOL); }); - it('can mock go versions query', async () => { - getSpy.mockImplementation( - () => goJsonData + it('can query versions', async () => { + let versions: im.IGoVersion[] | null = await im.getVersions( + 'https://non.existant.com/path' ); - let versions: im.IGoVersion[] | null = await im.getVersions('https://non.existant.com/path'); expect(versions).toBeDefined(); let l: number = versions ? versions.length : 0; expect(l).toBe(91); @@ -88,9 +86,6 @@ describe('setup-go', () => { it('finds stable match for exact version', async () => { platSpy.mockImplementation(() => 'linux'); archSpy.mockImplementation(() => 'amd64'); - getSpy.mockImplementation( - () => goJsonData - ); // get request is already mocked // spec: 1.13.1 => 1.13.1 (exact) diff --git a/src/installer.ts b/src/installer.ts index bdf85b5..e75784d 100644 --- a/src/installer.ts +++ b/src/installer.ts @@ -96,7 +96,7 @@ export async function findMatch( export async function getVersions(dlUrl: string): Promise { // this returns versions descending so latest is first - let http: httpm.HttpClient = new httpm.HttpClient('setup-go'); + let http: httpm.HttpClient = new httpm.HttpClient('setup-go'); let candidates: IGoVersion[] | null = (await http.getJson( dlUrl )).result;