|
|
|
|
@ -213,7 +213,7 @@ jobs:
|
|
|
|
|
# org with 8 cores and 32 GB of RAM:
|
|
|
|
|
# https://github.com/organizations/tailscale/settings/actions/github-hosted-runners/1
|
|
|
|
|
runs-on: ci-windows-github-1
|
|
|
|
|
# needs: gomod-cache
|
|
|
|
|
needs: gomod-cache
|
|
|
|
|
name: Windows (${{ matrix.name || matrix.shard}})
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false # don't abort the entire matrix if one element fails
|
|
|
|
|
@ -230,55 +230,45 @@ jobs:
|
|
|
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
|
with:
|
|
|
|
|
path: src
|
|
|
|
|
# - name: Restore Go module cache
|
|
|
|
|
# uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
|
|
|
# with:
|
|
|
|
|
# path:
|
|
|
|
|
- uses: samypr100/setup-dev-drive@30f0f98ae5636b2b6501e181dfb3631b9974818d # v4.0.0
|
|
|
|
|
with:
|
|
|
|
|
drive-size: 50GB # 300GB available: https://docs.github.com/en/enterprise-cloud@latest/actions/reference/runners/larger-runners#machine-sizes-for-larger-runners
|
|
|
|
|
trusted-dev-drive: true
|
|
|
|
|
workspace-copy: true
|
|
|
|
|
|
|
|
|
|
- name: Install Go
|
|
|
|
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
|
|
|
|
with:
|
|
|
|
|
go-version-file: ${{ env.DEV_DRIVE_WORKSPACE }}/src/go.mod
|
|
|
|
|
go-version-file: src/go.mod
|
|
|
|
|
cache: false
|
|
|
|
|
|
|
|
|
|
# - name: Restore Go module cache
|
|
|
|
|
# uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
|
|
|
# with:
|
|
|
|
|
# path: gomodcache
|
|
|
|
|
# key: ${{ needs.gomod-cache.outputs.cache-key }}
|
|
|
|
|
# enableCrossOsArchive: true
|
|
|
|
|
- name: Restore Go module cache
|
|
|
|
|
uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
|
|
|
with:
|
|
|
|
|
path: gomodcache
|
|
|
|
|
key: ${{ needs.gomod-cache.outputs.cache-key }}
|
|
|
|
|
enableCrossOsArchive: true
|
|
|
|
|
|
|
|
|
|
- name: Setup cigocacher
|
|
|
|
|
id: cigocacher-setup
|
|
|
|
|
uses: ./src/.github/actions/go-cache
|
|
|
|
|
with:
|
|
|
|
|
checkout-path: ${{ env.DEV_DRIVE_WORKSPACE }}/src
|
|
|
|
|
cache-dir: ${{ env.DEV_DRIVE_WORKSPACE }}/cigocacher
|
|
|
|
|
checkout-path: src
|
|
|
|
|
cache-dir: cigocacher
|
|
|
|
|
cigocached-url: ${{ vars.CIGOCACHED_AZURE_URL }}
|
|
|
|
|
|
|
|
|
|
- name: test
|
|
|
|
|
if: matrix.key != 'win-bench' # skip on bench builder
|
|
|
|
|
working-directory: ${{ env.DEV_DRIVE_WORKSPACE }}/src
|
|
|
|
|
working-directory: src
|
|
|
|
|
run: go run ./cmd/testwrapper sharded:${{ matrix.shard }}
|
|
|
|
|
|
|
|
|
|
- name: bench all
|
|
|
|
|
if: matrix.key == 'win-bench'
|
|
|
|
|
working-directory: ${{ env.DEV_DRIVE_WORKSPACE }}/src
|
|
|
|
|
working-directory: src
|
|
|
|
|
# Don't use -bench=. -benchtime=1x.
|
|
|
|
|
# Somewhere in the layers (powershell?)
|
|
|
|
|
# the equals signs cause great confusion.
|
|
|
|
|
run: go test ./... -bench . -benchtime 1x -run "^$"
|
|
|
|
|
|
|
|
|
|
- name: Tidy cache
|
|
|
|
|
working-directory: ${{ env.DEV_DRIVE_WORKSPACE }}/src
|
|
|
|
|
shell: pwsh
|
|
|
|
|
run: |
|
|
|
|
|
Get-ChildItem -Path "${{ env.DEV_DRIVE_WORKSPACE }}\cigocacher" -File -Recurse |
|
|
|
|
|
Get-ChildItem -Path cigocacher -File -Recurse |
|
|
|
|
|
Where-Object { $_.LastAccessTime -lt (Get-Date).AddMinutes(-90) } |
|
|
|
|
|
Remove-Item -Force
|
|
|
|
|
|
|
|
|
|
|