1
0
Fork 0
mirror of https://github.com/actions/setup-go synced 2024-12-22 06:12:42 +00:00

bit of cleanup

This commit is contained in:
Bryan MacFarlane 2020-02-09 14:39:34 -05:00
parent f4b0281c15
commit 7af81a4a65
3 changed files with 22 additions and 11 deletions

View file

@ -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)

View file

@ -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(() => <im.IGoVersion[]>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(
() => <im.IGoVersion[]>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(
() => <im.IGoVersion[]>goJsonData
);
// get request is already mocked
// spec: 1.13.1 => 1.13.1 (exact)

View file

@ -96,7 +96,7 @@ export async function findMatch(
export async function getVersions(dlUrl: string): Promise<IGoVersion[] | null> {
// 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<IGoVersion[]>(
dlUrl
)).result;