Staging #1126
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Go | |
on: | |
push: | |
branches: | |
- 'master' | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
go: ['1.21.4'] | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Set git to use LF | |
# make sure that line endings are not converted on windows | |
# as gofmt linter will report that they need to be changed | |
run: git config --global core.autocrlf false | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Cache Go modules | |
uses: actions/cache@v3 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-build-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.OS }}-build-${{ env.cache-name }}- | |
${{ runner.OS }}-build- | |
${{ runner.OS }}- | |
- name: Lint | |
if: matrix.os == 'ubuntu-latest' | |
run: make lint | |
- name: Set up port range and TIME_WAIT | |
if: matrix.os == 'windows-latest' | |
run: | | |
# Increase the dynamic port range | |
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name MaxUserPort -Value 65534 -PropertyType DWord -Force | |
# Decrease the TIME_WAIT duration | |
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name TcpTimedWaitDelay -Value 3 -PropertyType DWord -Force | |
shell: pwsh | |
- name: Vet | |
if: matrix.os == 'ubuntu-latest' | |
run: make vet | |
- name: Test with Race Detector | |
if: matrix.os == 'ubuntu-latest' | |
run: make test-race | |
- name: Test | |
run: make test |