mirror of https://github.com/actions/setup-go.git
				
				
				
			Merge branch 'main' into modules-caching
This commit is contained in:
		
						commit
						ed123a232f
					
				| 
						 | 
				
			
			@ -1 +1 @@
 | 
			
		|||
* @actions/spark
 | 
			
		||||
* @actions/actions-service
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										50
									
								
								README.md
								
								
								
								
							
							
						
						
									
										50
									
								
								README.md
								
								
								
								
							| 
						 | 
				
			
			@ -11,12 +11,11 @@ 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
 | 
			
		||||
# V3
 | 
			
		||||
 | 
			
		||||
The V2 offers:
 | 
			
		||||
The V3 offers:
 | 
			
		||||
- Adds GOBIN to the PATH
 | 
			
		||||
- Proxy Support
 | 
			
		||||
- `stable` input 
 | 
			
		||||
- Check latest version
 | 
			
		||||
- Bug Fixes (including issues around version matching and semver)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -25,21 +24,38 @@ The action will first check the local cache for a version match. If a version is
 | 
			
		|||
Matching by [semver spec](https://github.com/npm/node-semver):
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
  - uses: actions/checkout@v2
 | 
			
		||||
  - uses: actions/setup-go@v2
 | 
			
		||||
  - uses: actions/checkout@v3
 | 
			
		||||
  - uses: actions/setup-go@v3
 | 
			
		||||
    with:
 | 
			
		||||
      go-version: '^1.13.1' # The Go version to download (if necessary) and use.
 | 
			
		||||
  - run: go version
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
  - uses: actions/checkout@v3
 | 
			
		||||
  - uses: actions/setup-go@v3
 | 
			
		||||
    with:
 | 
			
		||||
      go-version: '>=1.17.0'
 | 
			
		||||
  - run: go version
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Matching an unstable pre-release:
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
  - uses: actions/checkout@v2
 | 
			
		||||
  - uses: actions/setup-go@v2
 | 
			
		||||
  - uses: actions/checkout@v3
 | 
			
		||||
  - uses: actions/setup-go@v3
 | 
			
		||||
    with:
 | 
			
		||||
      stable: 'false'
 | 
			
		||||
      go-version: '1.14.0-rc1' # The Go version to download (if necessary) and use.
 | 
			
		||||
      go-version: '1.18.0-rc.1' # The Go version to download (if necessary) and use.
 | 
			
		||||
  - run: go version
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
  - uses: actions/checkout@v3
 | 
			
		||||
  - uses: actions/setup-go@v3
 | 
			
		||||
    with:
 | 
			
		||||
      go-version: '1.16.0-beta.1' # The Go version to download (if necessary) and use.
 | 
			
		||||
  - run: go version
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -50,8 +66,8 @@ See [action.yml](action.yml)
 | 
			
		|||
## Basic:
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
  - uses: actions/checkout@v2
 | 
			
		||||
  - uses: actions/setup-go@v2
 | 
			
		||||
  - uses: actions/checkout@v3
 | 
			
		||||
  - uses: actions/setup-go@v3
 | 
			
		||||
    with:
 | 
			
		||||
      go-version: '1.16.1' # The Go version to download (if necessary) and use.
 | 
			
		||||
  - run: go run hello.go
 | 
			
		||||
| 
						 | 
				
			
			@ -68,8 +84,8 @@ If `check-latest` is set to `true`, the action first checks if the cached versio
 | 
			
		|||
 | 
			
		||||
```yaml
 | 
			
		||||
steps:
 | 
			
		||||
  - uses: actions/checkout@v2
 | 
			
		||||
  - uses: actions/setup-go@v2
 | 
			
		||||
  - uses: actions/checkout@v3
 | 
			
		||||
  - uses: actions/setup-go@v3
 | 
			
		||||
    with:
 | 
			
		||||
      go-version: '1.14'
 | 
			
		||||
      check-latest: true
 | 
			
		||||
| 
						 | 
				
			
			@ -86,9 +102,9 @@ jobs:
 | 
			
		|||
        go: [ '1.14', '1.13' ]
 | 
			
		||||
    name: Go ${{ matrix.go }} sample
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
      - name: Setup go
 | 
			
		||||
        uses: actions/setup-go@v2
 | 
			
		||||
        uses: actions/setup-go@v3
 | 
			
		||||
        with:
 | 
			
		||||
          go-version: ${{ matrix.go }}
 | 
			
		||||
      - run: go run hello.go
 | 
			
		||||
| 
						 | 
				
			
			@ -97,8 +113,8 @@ jobs:
 | 
			
		|||
### Supported version syntax
 | 
			
		||||
The `go-version` input supports the following syntax:
 | 
			
		||||
 | 
			
		||||
Specific versions: `1.15`, `1.16.1`, `1.17.0-rc2`, `1.16.0-beta1`  
 | 
			
		||||
SemVer's version range syntax: `^1.13.1`  
 | 
			
		||||
Specific versions: `1.15`, `1.16.1`, `1.17.0-rc.2`, `1.16.0-beta.1`  
 | 
			
		||||
SemVer's version range syntax: `^1.13.1`, `>=1.18.0-rc.1`
 | 
			
		||||
For more information about semantic versioning please refer [semver](https://github.com/npm/node-semver) documentation
 | 
			
		||||
 | 
			
		||||
# License
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,7 @@ describe('setup-go', () => {
 | 
			
		|||
 | 
			
		||||
  let inSpy: jest.SpyInstance;
 | 
			
		||||
  let getBooleanInputSpy: jest.SpyInstance;
 | 
			
		||||
  let exportVarSpy: jest.SpyInstance;
 | 
			
		||||
  let findSpy: jest.SpyInstance;
 | 
			
		||||
  let cnSpy: jest.SpyInstance;
 | 
			
		||||
  let logSpy: jest.SpyInstance;
 | 
			
		||||
| 
						 | 
				
			
			@ -27,7 +28,7 @@ describe('setup-go', () => {
 | 
			
		|||
  let platSpy: jest.SpyInstance;
 | 
			
		||||
  let archSpy: jest.SpyInstance;
 | 
			
		||||
  let dlSpy: jest.SpyInstance;
 | 
			
		||||
  let exSpy: jest.SpyInstance;
 | 
			
		||||
  let extractTarSpy: jest.SpyInstance;
 | 
			
		||||
  let cacheSpy: jest.SpyInstance;
 | 
			
		||||
  let dbgSpy: jest.SpyInstance;
 | 
			
		||||
  let whichSpy: jest.SpyInstance;
 | 
			
		||||
| 
						 | 
				
			
			@ -49,6 +50,7 @@ describe('setup-go', () => {
 | 
			
		|||
    inSpy.mockImplementation(name => inputs[name]);
 | 
			
		||||
    getBooleanInputSpy = jest.spyOn(core, 'getBooleanInput');
 | 
			
		||||
    getBooleanInputSpy.mockImplementation(name => inputs[name]);
 | 
			
		||||
    exportVarSpy = jest.spyOn(core, 'exportVariable');
 | 
			
		||||
 | 
			
		||||
    // node
 | 
			
		||||
    os = {};
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +63,7 @@ describe('setup-go', () => {
 | 
			
		|||
    // @actions/tool-cache
 | 
			
		||||
    findSpy = jest.spyOn(tc, 'find');
 | 
			
		||||
    dlSpy = jest.spyOn(tc, 'downloadTool');
 | 
			
		||||
    exSpy = jest.spyOn(tc, 'extractTar');
 | 
			
		||||
    extractTarSpy = jest.spyOn(tc, 'extractTar');
 | 
			
		||||
    cacheSpy = jest.spyOn(tc, 'cacheDir');
 | 
			
		||||
    getSpy = jest.spyOn(im, 'getVersionsDist');
 | 
			
		||||
    getManifestSpy = jest.spyOn(tc, 'getManifestFromRepo');
 | 
			
		||||
| 
						 | 
				
			
			@ -230,6 +232,40 @@ describe('setup-go', () => {
 | 
			
		|||
    expect(logSpy).toHaveBeenCalledWith(`Setup go version spec 1.13.0`);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('does not export any variables for Go versions >=1.9', async () => {
 | 
			
		||||
    inputs['go-version'] = '1.13.0';
 | 
			
		||||
    inSpy.mockImplementation(name => inputs[name]);
 | 
			
		||||
 | 
			
		||||
    let toolPath = path.normalize('/cache/go/1.13.0/x64');
 | 
			
		||||
    findSpy.mockImplementation(() => toolPath);
 | 
			
		||||
 | 
			
		||||
    let vars: {[key: string]: string} = {};
 | 
			
		||||
    exportVarSpy.mockImplementation((name: string, val: string) => {
 | 
			
		||||
      vars[name] = val;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    await main.run();
 | 
			
		||||
    expect(vars).toStrictEqual({});
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('exports GOROOT for Go versions <1.9', async () => {
 | 
			
		||||
    inputs['go-version'] = '1.8';
 | 
			
		||||
    inSpy.mockImplementation(name => inputs[name]);
 | 
			
		||||
 | 
			
		||||
    let toolPath = path.normalize('/cache/go/1.8.0/x64');
 | 
			
		||||
    findSpy.mockImplementation(() => toolPath);
 | 
			
		||||
 | 
			
		||||
    let vars: {[key: string]: string} = {};
 | 
			
		||||
    exportVarSpy.mockImplementation((name: string, val: string) => {
 | 
			
		||||
      vars[name] = val;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    await main.run();
 | 
			
		||||
    expect(vars).toStrictEqual({
 | 
			
		||||
      GOROOT: toolPath
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('finds a version of go already in the cache', async () => {
 | 
			
		||||
    inputs['go-version'] = '1.13.0';
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -271,14 +307,14 @@ describe('setup-go', () => {
 | 
			
		|||
    findSpy.mockImplementation(() => '');
 | 
			
		||||
    dlSpy.mockImplementation(() => '/some/temp/path');
 | 
			
		||||
    let toolPath = path.normalize('/cache/go/1.13.0/x64');
 | 
			
		||||
    exSpy.mockImplementation(() => '/some/other/temp/path');
 | 
			
		||||
    extractTarSpy.mockImplementation(() => '/some/other/temp/path');
 | 
			
		||||
    cacheSpy.mockImplementation(() => toolPath);
 | 
			
		||||
    await main.run();
 | 
			
		||||
 | 
			
		||||
    let expPath = path.join(toolPath, 'bin');
 | 
			
		||||
 | 
			
		||||
    expect(dlSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(exSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(extractTarSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(cnSpy).toHaveBeenCalledWith(`::add-path::${expPath}${osm.EOL}`);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -313,7 +349,7 @@ describe('setup-go', () => {
 | 
			
		|||
 | 
			
		||||
    dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
    let toolPath = path.normalize('/cache/go/1.12.16/x64');
 | 
			
		||||
    exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
    extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
    cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
 | 
			
		||||
    await main.run();
 | 
			
		||||
| 
						 | 
				
			
			@ -321,7 +357,7 @@ describe('setup-go', () => {
 | 
			
		|||
    let expPath = path.join(toolPath, 'bin');
 | 
			
		||||
 | 
			
		||||
    expect(dlSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(exSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(extractTarSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(logSpy).not.toHaveBeenCalledWith(
 | 
			
		||||
      'Not found in manifest.  Falling back to download directly from Go'
 | 
			
		||||
    );
 | 
			
		||||
| 
						 | 
				
			
			@ -350,7 +386,7 @@ describe('setup-go', () => {
 | 
			
		|||
 | 
			
		||||
    dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
    let toolPath = path.normalize('/cache/go/1.12.17/x64');
 | 
			
		||||
    exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
    extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
    cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
 | 
			
		||||
    await main.run();
 | 
			
		||||
| 
						 | 
				
			
			@ -358,7 +394,7 @@ describe('setup-go', () => {
 | 
			
		|||
    let expPath = path.join(toolPath, 'bin');
 | 
			
		||||
 | 
			
		||||
    expect(dlSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(exSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(extractTarSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(logSpy).not.toHaveBeenCalledWith(
 | 
			
		||||
      'Not found in manifest.  Falling back to download directly from Go'
 | 
			
		||||
    );
 | 
			
		||||
| 
						 | 
				
			
			@ -387,7 +423,7 @@ describe('setup-go', () => {
 | 
			
		|||
 | 
			
		||||
    dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
    let toolPath = path.normalize('/cache/go/1.12.14/x64');
 | 
			
		||||
    exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
    extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
    cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
 | 
			
		||||
    await main.run();
 | 
			
		||||
| 
						 | 
				
			
			@ -398,7 +434,7 @@ describe('setup-go', () => {
 | 
			
		|||
    expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.12.14...');
 | 
			
		||||
    expect(dlSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(logSpy).toHaveBeenCalledWith('matching 1.12.14...');
 | 
			
		||||
    expect(exSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(extractTarSpy).toHaveBeenCalled();
 | 
			
		||||
    expect(logSpy).toHaveBeenCalledWith(
 | 
			
		||||
      'Not found in manifest.  Falling back to download directly from Go'
 | 
			
		||||
    );
 | 
			
		||||
| 
						 | 
				
			
			@ -600,7 +636,7 @@ describe('setup-go', () => {
 | 
			
		|||
      const toolPath = path.normalize('/cache/go/1.16.1/x64');
 | 
			
		||||
      findSpy.mockReturnValue(toolPath);
 | 
			
		||||
      dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
      exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
 | 
			
		||||
      await main.run();
 | 
			
		||||
| 
						 | 
				
			
			@ -622,7 +658,7 @@ describe('setup-go', () => {
 | 
			
		|||
      findSpy.mockImplementation(() => '');
 | 
			
		||||
      dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
      const toolPath = path.normalize('/cache/go/1.17.5/x64');
 | 
			
		||||
      exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
      const expectedUrl =
 | 
			
		||||
        'https://github.com/actions/go-versions/releases/download/1.17.6-1668090892/go-1.17.6-darwin-x64.tar.gz';
 | 
			
		||||
| 
						 | 
				
			
			@ -663,7 +699,7 @@ describe('setup-go', () => {
 | 
			
		|||
 | 
			
		||||
      dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
      let toolPath = path.normalize('/cache/go/1.13.7/x64');
 | 
			
		||||
      exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
 | 
			
		||||
      await main.run();
 | 
			
		||||
| 
						 | 
				
			
			@ -671,7 +707,7 @@ describe('setup-go', () => {
 | 
			
		|||
      let expPath = path.join(toolPath, 'bin');
 | 
			
		||||
 | 
			
		||||
      expect(dlSpy).toHaveBeenCalled();
 | 
			
		||||
      expect(exSpy).toHaveBeenCalled();
 | 
			
		||||
      expect(extractTarSpy).toHaveBeenCalled();
 | 
			
		||||
      expect(logSpy).toHaveBeenCalledWith(
 | 
			
		||||
        'Attempting to resolve the latest version from the manifest...'
 | 
			
		||||
      );
 | 
			
		||||
| 
						 | 
				
			
			@ -705,7 +741,7 @@ describe('setup-go', () => {
 | 
			
		|||
 | 
			
		||||
      dlSpy.mockImplementation(async () => '/some/temp/path');
 | 
			
		||||
      let toolPath = path.normalize('/cache/go/1.13.7/x64');
 | 
			
		||||
      exSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      extractTarSpy.mockImplementation(async () => '/some/other/temp/path');
 | 
			
		||||
      cacheSpy.mockImplementation(async () => toolPath);
 | 
			
		||||
 | 
			
		||||
      await main.run();
 | 
			
		||||
| 
						 | 
				
			
			@ -716,7 +752,7 @@ describe('setup-go', () => {
 | 
			
		|||
        `Failed to resolve version ${versionSpec} from manifest`
 | 
			
		||||
      );
 | 
			
		||||
      expect(dlSpy).toHaveBeenCalled();
 | 
			
		||||
      expect(exSpy).toHaveBeenCalled();
 | 
			
		||||
      expect(extractTarSpy).toHaveBeenCalled();
 | 
			
		||||
      expect(logSpy).toHaveBeenCalledWith(
 | 
			
		||||
        'Attempting to resolve the latest version from the manifest...'
 | 
			
		||||
      );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3647,9 +3647,9 @@
 | 
			
		|||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/minimist": {
 | 
			
		||||
      "version": "1.2.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
 | 
			
		||||
      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
 | 
			
		||||
      "version": "1.2.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
 | 
			
		||||
      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mkdirp": {
 | 
			
		||||
| 
						 | 
				
			
			@ -4554,145 +4554,6 @@
 | 
			
		|||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/@jest/types": {
 | 
			
		||||
      "version": "27.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/istanbul-lib-coverage": "^2.0.0",
 | 
			
		||||
        "@types/istanbul-reports": "^3.0.0",
 | 
			
		||||
        "@types/node": "*",
 | 
			
		||||
        "@types/yargs": "^16.0.0",
 | 
			
		||||
        "chalk": "^4.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/@types/istanbul-reports": {
 | 
			
		||||
      "version": "3.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/istanbul-lib-report": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/@types/yargs": {
 | 
			
		||||
      "version": "16.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/yargs-parser": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/ansi-styles": {
 | 
			
		||||
      "version": "4.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
 | 
			
		||||
      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "color-convert": "^2.0.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=8"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/chalk": {
 | 
			
		||||
      "version": "4.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ansi-styles": "^4.1.0",
 | 
			
		||||
        "supports-color": "^7.1.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/chalk/chalk?sponsor=1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/ci-info": {
 | 
			
		||||
      "version": "3.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/color-convert": {
 | 
			
		||||
      "version": "2.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "color-name": "~1.1.4"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=7.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/color-name": {
 | 
			
		||||
      "version": "1.1.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
 | 
			
		||||
      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/has-flag": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/is-ci": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ci-info": "^3.1.1"
 | 
			
		||||
      },
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "is-ci": "bin.js"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/jest-util": {
 | 
			
		||||
      "version": "27.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@jest/types": "^27.1.0",
 | 
			
		||||
        "@types/node": "*",
 | 
			
		||||
        "chalk": "^4.0.0",
 | 
			
		||||
        "graceful-fs": "^4.2.4",
 | 
			
		||||
        "is-ci": "^3.0.0",
 | 
			
		||||
        "picomatch": "^2.2.3"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/picomatch": {
 | 
			
		||||
      "version": "2.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
 | 
			
		||||
      "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=8.6"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/sponsors/jonschlinkert"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/semver": {
 | 
			
		||||
      "version": "7.3.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
 | 
			
		||||
| 
						 | 
				
			
			@ -4708,32 +4569,6 @@
 | 
			
		|||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/supports-color": {
 | 
			
		||||
      "version": "7.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "has-flag": "^4.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ts-jest/node_modules/yargs-parser": {
 | 
			
		||||
      "version": "20.2.9",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
 | 
			
		||||
      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/tslib": {
 | 
			
		||||
      "version": "1.14.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
 | 
			
		||||
      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/tunnel": {
 | 
			
		||||
      "version": "0.0.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
 | 
			
		||||
| 
						 | 
				
			
			@ -7895,9 +7730,9 @@
 | 
			
		|||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "minimist": {
 | 
			
		||||
      "version": "1.2.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
 | 
			
		||||
      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
 | 
			
		||||
      "version": "1.2.6",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
 | 
			
		||||
      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "mkdirp": {
 | 
			
		||||
| 
						 | 
				
			
			@ -8568,112 +8403,6 @@
 | 
			
		|||
        "yargs-parser": "20.x"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@jest/types": {
 | 
			
		||||
          "version": "27.1.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz",
 | 
			
		||||
          "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@types/istanbul-lib-coverage": "^2.0.0",
 | 
			
		||||
            "@types/istanbul-reports": "^3.0.0",
 | 
			
		||||
            "@types/node": "*",
 | 
			
		||||
            "@types/yargs": "^16.0.0",
 | 
			
		||||
            "chalk": "^4.0.0"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "@types/istanbul-reports": {
 | 
			
		||||
          "version": "3.0.1",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
 | 
			
		||||
          "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@types/istanbul-lib-report": "*"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "@types/yargs": {
 | 
			
		||||
          "version": "16.0.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
 | 
			
		||||
          "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@types/yargs-parser": "*"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "ansi-styles": {
 | 
			
		||||
          "version": "4.3.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
 | 
			
		||||
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "color-convert": "^2.0.1"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "chalk": {
 | 
			
		||||
          "version": "4.1.2",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
 | 
			
		||||
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "ansi-styles": "^4.1.0",
 | 
			
		||||
            "supports-color": "^7.1.0"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "ci-info": {
 | 
			
		||||
          "version": "3.2.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
 | 
			
		||||
          "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==",
 | 
			
		||||
          "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "color-convert": {
 | 
			
		||||
          "version": "2.0.1",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 | 
			
		||||
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "color-name": "~1.1.4"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "color-name": {
 | 
			
		||||
          "version": "1.1.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
 | 
			
		||||
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
 | 
			
		||||
          "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "has-flag": {
 | 
			
		||||
          "version": "4.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
 | 
			
		||||
          "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "is-ci": {
 | 
			
		||||
          "version": "3.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "ci-info": "^3.1.1"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "jest-util": {
 | 
			
		||||
          "version": "27.1.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.1.0.tgz",
 | 
			
		||||
          "integrity": "sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "@jest/types": "^27.1.0",
 | 
			
		||||
            "@types/node": "*",
 | 
			
		||||
            "chalk": "^4.0.0",
 | 
			
		||||
            "graceful-fs": "^4.2.4",
 | 
			
		||||
            "is-ci": "^3.0.0",
 | 
			
		||||
            "picomatch": "^2.2.3"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "picomatch": {
 | 
			
		||||
          "version": "2.3.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
 | 
			
		||||
          "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
 | 
			
		||||
          "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "semver": {
 | 
			
		||||
          "version": "7.3.5",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
 | 
			
		||||
| 
						 | 
				
			
			@ -8682,21 +8411,6 @@
 | 
			
		|||
          "requires": {
 | 
			
		||||
            "lru-cache": "^6.0.0"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "version": "7.2.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 | 
			
		||||
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "has-flag": "^4.0.0"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "yargs-parser": {
 | 
			
		||||
          "version": "20.2.9",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
 | 
			
		||||
          "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
 | 
			
		||||
          "dev": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										13
									
								
								src/main.ts
								
								
								
								
							
							
						
						
									
										13
									
								
								src/main.ts
								
								
								
								
							| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
import * as core from '@actions/core';
 | 
			
		||||
import * as io from '@actions/io';
 | 
			
		||||
import * as installer from './installer';
 | 
			
		||||
import * as semver from 'semver';
 | 
			
		||||
import path from 'path';
 | 
			
		||||
import {restoreCache} from './cache-restore';
 | 
			
		||||
import cp from 'child_process';
 | 
			
		||||
| 
						 | 
				
			
			@ -25,10 +26,16 @@ export async function run() {
 | 
			
		|||
      const checkLatest = core.getBooleanInput('check-latest');
 | 
			
		||||
      const installDir = await installer.getGo(versionSpec, checkLatest, auth);
 | 
			
		||||
 | 
			
		||||
      core.exportVariable('GOROOT', installDir);
 | 
			
		||||
      core.addPath(path.join(installDir, 'bin'));
 | 
			
		||||
      core.info('Added go to the path');
 | 
			
		||||
 | 
			
		||||
      const version = installer.makeSemver(versionSpec);
 | 
			
		||||
      // Go versions less than 1.9 require GOROOT to be set
 | 
			
		||||
      if (semver.lt(version, '1.9.0')) {
 | 
			
		||||
        core.info('Setting GOROOT for Go version < 1.9');
 | 
			
		||||
        core.exportVariable('GOROOT', installDir);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      let added = await addBinToPath();
 | 
			
		||||
      core.debug(`add bin ${added}`);
 | 
			
		||||
      core.info(`Successfully setup go version ${versionSpec}`);
 | 
			
		||||
| 
						 | 
				
			
			@ -77,13 +84,13 @@ export async function addBinToPath(): Promise<boolean> {
 | 
			
		|||
    if (!fs.existsSync(gp)) {
 | 
			
		||||
      // some of the hosted images have go install but not profile dir
 | 
			
		||||
      core.debug(`creating ${gp}`);
 | 
			
		||||
      io.mkdirP(gp);
 | 
			
		||||
      await io.mkdirP(gp);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let bp = path.join(gp, 'bin');
 | 
			
		||||
    if (!fs.existsSync(bp)) {
 | 
			
		||||
      core.debug(`creating ${bp}`);
 | 
			
		||||
      io.mkdirP(bp);
 | 
			
		||||
      await io.mkdirP(bp);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    core.addPath(bp);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue