github.com/wzzhu/tensor@v0.9.24/.github/workflows/.go.yml (about) 1 on: 2 push: 3 branches: [ master ] 4 pull_request: 5 name: test and build 6 env: 7 GOPROXY: "https://proxy.golang.org" 8 CI_NO_PYTHON: "true" 9 jobs: 10 test: 11 strategy: 12 matrix: 13 go: [1.13.x, 1.14.x, 1.15.x] 14 os: [ubuntu-latest, macos-latest, windows-latest] 15 tags: [avx, sse] 16 allowfail: [false] 17 include: 18 - go: tip 19 os: ubuntu-latest 20 allowfail: true 21 runs-on: ${{ matrix.os }} 22 continue-on-error: ${{ matrix.allowfail }} 23 timeout-minutes: 5 24 steps: 25 - name: Install Go ${{ matrix.go }} on ${{ matrix.os }} 26 if: matrix.go != 'tip' 27 uses: actions/setup-go@v2 28 with: 29 go-version: ${{ matrix.go }} 30 # tempoary hack: 31 # https://github.com/actions/setup-go/issues/21#issuecomment-565704236 32 - name: Install Go ${{ matrix.go }} on ${{ matrix.os }} 33 if: matrix.go == 'tip' 34 run: | 35 git clone --depth=1 https://go.googlesource.com/go $HOME/gotip 36 cd $HOME/gotip/src 37 ./make.bash 38 echo "GOROOT=$HOME/gotip" >> $GITHUB_ENV 39 echo "$HOME/gotip/bin" >> $GITHUB_PATH 40 - name: Checkout code 41 uses: actions/checkout@v2 42 - name: Run tests 43 run: | 44 go test ./... -v -race 45 go test ./... -race -tags=${{ matrix.tags }} 46 47 coverage: 48 env: 49 CI_NO_PYTHON: "false" 50 PYTHON_COMMAND: python 51 strategy: 52 matrix: 53 tags: [avx, sse] 54 runs-on: ubuntu-latest 55 steps: 56 - name: Install Go 57 uses: actions/setup-go@v2 58 with: 59 go-version: 1.14.x 60 - name: Install Python 61 uses: actions/setup-python@v2 62 with: 63 python-version: '3.x' 64 architecture: 'x64' 65 - name: Install Pip 66 uses: BSFishy/pip-action@v1 67 with: 68 packages: numpy 69 - name: Checkout code 70 uses: actions/checkout@v2 71 - name: Calc coverage 72 run: | 73 export PATH=$PATH:$(go env GOPATH)/bin 74 go test ./... -v -covermode=atomic -coverprofile=coverage.out 75 - name: Convert coverage to lcov 76 uses: jandelgado/gcov2lcov-action@v1.0.0 77 with: 78 infile: coverage.out 79 outfile: coverage.lcov 80 - name: Coveralls 81 uses: coverallsapp/github-action@v1.0.1 82 with: 83 github-token: ${{ secrets.github_token }} 84 path-to-lcov: coverage.lcov 85 86 build: 87 strategy: 88 matrix: 89 go: [1.13, 1.14] 90 goos: [linux, darwin] 91 goarch: [amd64, arm] 92 exclude: 93 # windows/386 and darwin/386 seems useless 94 - goarch: "arm" 95 goos: darwin 96 runs-on: ubuntu-latest 97 needs: [test] 98 steps: 99 - name: Install Go ${{ matrix.go }} 100 uses: actions/setup-go@v2 101 with: 102 go-version: ${{ matrix.go }} 103 - name: Checkout code 104 uses: actions/checkout@v2 105 - name: build 106 run: go build . 107 env: 108 GOOS: ${{ matrix.goos }} 109 GOARCH: ${{ matrix.goarch }}