on: push: branches: - master pull_request: branches: - master name: go jobs: lint: runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.15.x - name: Checkout code uses: actions/checkout@v2 - name: Run linters uses: golangci/golangci-lint-action@v2 with: version: v1.29 test: strategy: matrix: go-version: [1.15.x] platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: - name: Install Go if: success() uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v2 - name: Run tests run: go test -v -covermode=count coverage-coveralls: runs-on: ubuntu-latest steps: - name: Install Go if: success() uses: actions/setup-go@v2 with: go-version: 1.15.x - name: Checkout code uses: actions/checkout@v2 - name: Calc coverage run: | go test -v -covermode=count -coverprofile=coverage.out - name: Codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos file: ./coverage.out - name: Convert coverage.out to coverage.lcov uses: jandelgado/gcov2lcov-action@v1.0.6 - name: Coveralls uses: coverallsapp/github-action@v1.1.2 with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: coverage.lcov coverage-codeclimate: runs-on: ubuntu-latest steps: - name: Install Go if: success() uses: actions/setup-go@v2 with: go-version: 1.15.x - name: Checkout code uses: actions/checkout@v2 - name: Test run: go test -cover -coverprofile=c.out -covermode=atomic -race -v ./... - name: Upload Codeclimate Coverage uses: paambaati/codeclimate-action@v2.7.5 with: prefix: git.webz.asia/echo-go/dto-lib/ coverageLocations: ${{ github.workspace }}/c.out:gocov env: CC_TEST_REPORTER_ID: ${{ secrets.CODE_CLIMATE_REPORTER_ID }}