on: push: pull_request: types: [synchronize] schedule: - cron: "0 0 1,11,21 * *" name: Test jobs: test: strategy: fail-fast: false matrix: go-version: - 1.7.x - 1.8.x - 1.9.x - 1.10.x - 1.11.x - 1.12.x - 1.13.x - 1.14.x - 1.15.x - 1.16.x - 1.17.x go-flags: [""] os: [ubuntu-latest, macos-latest, windows-latest] include: - go-version: 1.13.x os: ubuntu-latest go-flags: "-trimpath" - go-version: 1.13.x os: macos-latest go-flags: "-trimpath" - go-version: 1.13.x os: windows-latest go-flags: "-trimpath" - go-version: 1.14.x os: ubuntu-latest go-flags: "-trimpath" - go-version: 1.14.x os: macos-latest go-flags: "-trimpath" - go-version: 1.14.x os: windows-latest go-flags: "-trimpath" - go-version: 1.15.x os: ubuntu-latest go-flags: "-trimpath" - go-version: 1.15.x os: macos-latest go-flags: "-trimpath" - go-version: 1.15.x os: windows-latest go-flags: "-trimpath" - go-version: 1.16.x os: ubuntu-latest go-flags: "-trimpath" - go-version: 1.16.x os: macos-latest go-flags: "-trimpath" - go-version: 1.16.x os: windows-latest go-flags: "-trimpath" - go-version: 1.17.x os: ubuntu-latest go-flags: "-trimpath" - go-version: 1.17.x os: macos-latest go-flags: "-trimpath" - go-version: 1.17.x os: windows-latest go-flags: "-trimpath" runs-on: ${{ matrix.os }} steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v2 with: path: "${{github.workspace}}/src/github.com/${{github.repository}}" - name: Test env: GOPATH: "${{github.workspace}}" GOFLAGS: ${{ matrix.go-flags }} working-directory: "${{github.workspace}}/src/github.com/${{github.repository}}" run: go test ./...