# This workflow will build a golang project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go name: Go on: push: branches: [ "master" ] pull_request: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest strategy: matrix: go-version: ['1.14', 'stable'] name: Build with Go ${{ matrix.go-version }} steps: - uses: actions/checkout@v3 with: submodules: recursive - name: Set up Go uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: Install goveralls if: ${{ matrix.go-version == 'stable' && github.ref == 'refs/heads/master' }} run: go install github.com/mattn/goveralls@latest - name: Build run: go build -v ./... - name: Test run: go test -v -covermode atomic -coverprofile=covprofile ./... - name: Gofmt # Run gofmt, print the output and exit with status code 1 if it isn't empty. run: | OUTPUT=$(gofmt -d ./) echo "$OUTPUT" test -z "$OUTPUT" - name: Send coverage if: ${{ matrix.go-version == 'stable' && github.ref == 'refs/heads/master' }} env: COVERALLS_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} run: goveralls -coverprofile=covprofile -service=github