Skip to content

Commit

Permalink
test hosted version of go
Browse files Browse the repository at this point in the history
  • Loading branch information
dsame committed Jul 12, 2023
1 parent 96a9554 commit 4b92573
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 9 deletions.
27 changes: 23 additions & 4 deletions .github/workflows/windows-validation.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Basic validation
name: validate Windows installation

on:
push:
Expand All @@ -16,7 +16,8 @@ jobs:
strategy:
matrix:
cache: [false, true]
go: [1.20.1]
go: [1.20.1, 1.20.5]
name: 'Setup ${{ matrix.go }} cache: ${{ matrix.cache }}'
steps:
- uses: actions/checkout@v3

Expand All @@ -26,6 +27,23 @@ jobs:
cache: ${{ matrix.cache }}
name: v4-cache-${{ matrix.cache }}

- run: |
if [ -e 'D:\hostedtoolcache\windows\go\${{ matrix.go }}\x64' ];then
echo 'D:\hostedtoolcache\windows\go\${{ matrix.go }}\x64 should not exist for hosted version of go';
exit 1
fi
du -m -s 'C:\hostedtoolcache\windows\go\${{ matrix.go }}\x64'
# make sure drive c: contains the folder
size=$(du -m -s 'C:\hostedtoolcache\windows\go\${{ matrix.go }}\x64'|cut -f1 -d$'\t')
if [ $size -eq 0 ];then
echo 'Size of the hosted go installed on drive c: must be above zero'
exit 1
fi
shell: bash
name: Hosted go should not have link
if: ${{ matrix.go == '1.20.5' }}
- run: |
du -m -s 'D:\hostedtoolcache\windows\go\${{ matrix.go }}\x64'
size=$(du -m -s 'D:\hostedtoolcache\windows\go\${{ matrix.go }}\x64'|cut -f1 -d$'\t')
Expand All @@ -44,6 +62,7 @@ jobs:
fi
shell: bash
name: Disk usage
if: ${{ matrix.go != '1.20.5' }}
- run: |
echo $PATH
Expand All @@ -54,8 +73,8 @@ jobs:
echo 'which go should return "/c/hostedtoolcache/windows/go/${{ matrix.go }}/x64/bin/go"'
exit 1
fi
if [ $(go env GOROOT) != 'C:\hostedtoolcache\windows\go\1.20.1\x64' ];then
echo 'go env GOROOT should return "C:\hostedtoolcache\windows\go\1.20.1\x64"'
if [ $(go env GOROOT) != 'C:\hostedtoolcache\windows\go\${{ matrix.go }}\x64' ];then
echo 'go env GOROOT should return "C:\hostedtoolcache\windows\go\${{ matrix.go }}\x64"'
exit 1
fi
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions dist/setup/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -61466,8 +61466,8 @@ function installGoVersion(info, auth, arch) {
}
// for github hosted windows runner handle latency of OS drive
// by avoiding write operations to C:
const isHosted = (process.env['RUNNER_ENVIRONMENT'] = 'github-hosted');
if (isWindows && isHosted) {
const isHosted = process.env['RUNNER_ENVIRONMENT'] === 'github-hosted';
if (isWindows && isHosted && fs_1.default.existsSync('c:\\') && fs_1.default.existsSync('d:\\')) {
const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE'] || '';
const substitutedToolCacheRoot = defaultToolCacheRoot
.replace('C:', 'D:')
Expand Down
5 changes: 2 additions & 3 deletions src/installer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@ async function installGoVersion(

// Windows requires that we keep the extension (.zip) for extraction
const isWindows = os.platform() === 'win32';

const tempDir = process.env.RUNNER_TEMP || '.';
const fileName = isWindows ? path.join(tempDir, info.fileName) : undefined;

Expand All @@ -204,8 +203,8 @@ async function installGoVersion(

// for github hosted windows runner handle latency of OS drive
// by avoiding write operations to C:
const isHosted = (process.env['RUNNER_ENVIRONMENT'] = 'github-hosted');
if (isWindows && isHosted) {
const isHosted = process.env['RUNNER_ENVIRONMENT'] === 'github-hosted';
if (isWindows && isHosted && fs.existsSync('d:\\') && fs.existsSync('c:\\')) {
const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE'] || '';
const substitutedToolCacheRoot = defaultToolCacheRoot
.replace('C:', 'D:')
Expand Down

0 comments on commit 4b92573

Please sign in to comment.