@@ -37,20 +37,53 @@ jobs:
3737 version : v2.4
3838 build :
3939 strategy :
40+ fail-fast : false # continue to run all jobs even if one fails
4041 matrix :
41- go-versions :
42- [ '1.18', '1.19', '1.20', '1.21', '1.22', '1.23', '1.24', '1.25' ]
43- runs-on : ubuntu-latest
42+ include :
43+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: stable}
44+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: oldstable}
45+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.18'}
46+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.19'}
47+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.20'}
48+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.21'}
49+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.22'}
50+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.23'}
51+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.24'}
52+ - {os: ubuntu-latest, GOOS: linux, GOARCH: amd64, go-version: '1.25'}
53+ - {os: ubuntu-latest, GOOS: linux, GOARCH: 386, go-version: stable}
54+ - {os: macos-latest, GOOS: darwin, GOARCH: amd64, go-version: stable}
55+ - {os: macos-latest, GOOS: darwin, GOARCH: arm64, go-version: stable}
56+ - {os: windows-latest, GOOS: windows, GOARCH: amd64, go-version: stable}
57+ - {os: windows-latest, GOOS: windows, GOARCH: 386, go-version: stable}
58+ runs-on : ${{ matrix.os }}
59+ env :
60+ # GOARCH and GOOS are used by the Go toolchain
61+ GOARCH : ${{ matrix.GOARCH }}
62+ GOOS : ${{ matrix.GOOS }}
4463 continue-on-error : true # make sure to run all versions, even if one fails
64+ name : >
65+ Build with Go ${{ matrix.go-version }}
66+ for ${{ matrix.GOOS }}/${{ matrix.GOARCH }}
4567 steps :
4668 - uses : actions/checkout@v5
4769 - name : Set up Go
48- uses : actions/setup-go@v5
70+ uses : actions/setup-go@v6
4971 with :
50- go-version : ${{ matrix.go-versions }}
72+ go-version : ${{ matrix.go-version }}
5173 - name : Run go vet
5274 run : go vet ./...
53- - name : Run yaml-test-suit tests
75+ - name : Run yaml-test-suite tests
5476 run : make test-yts
55- - name : Run go test
56- run : GO111MODULE=on go test -v -race .
77+ # make test-yts can only be run on non-Windows OS
78+ if : ${{ matrix.GOOS != 'windows' }}
79+ env :
80+ # This one is used by makeplus/makes
81+ OS-TYPE : ${{ matrix.GOOS }}
82+ - name : Run go test with race detection
83+ # -race is not applicable to 32-bit architectures
84+ if : ${{ matrix.GOARCH != '386' }}
85+ run : go test -v -race .
86+ - name : Run go test without race detection
87+ # -race is not applicable to 32-bit architectures
88+ if : ${{ matrix.GOARCH == '386' }}
89+ run : go test -v .
0 commit comments