Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
bit of cleanup
  • Loading branch information
Bryan MacFarlane committed Feb 9, 2020
1 parent f4b0281 commit 7af81a4
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 11 deletions.
16 changes: 16 additions & 0 deletions README.md
Expand Up @@ -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)
Expand Down
15 changes: 5 additions & 10 deletions __tests__/setup-go.test.ts
Expand Up @@ -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');
Expand All @@ -31,15 +30,15 @@ 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');
});
});

afterEach(() => {
tcSpy.mockClear();
cnSpy.mockClear();
jest.resetAllMocks();
jest.clearAllMocks();
});

Expand Down Expand Up @@ -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);
Expand All @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion src/installer.ts
Expand Up @@ -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;
Expand Down

0 comments on commit 7af81a4

Please sign in to comment.