name: Run Tests

on:
  push:
    branches:
      - master
    paths-ignore:
      - ".github/workflows/agent.yml"
      - ".github/workflows/test-on-pr.yml"
      - "README.md"
      - ".goreleaser.yml"

jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-go@v2
        with:
          go-version: "^1.17.2"
      - name: Unit test
        run: |
          go test -v ./...
      - name: Build test
        run: |
          go build cmd/dashboard/main.go
          go build cmd/agent/main.go
      - name: Run Gosec Security Scanner
        run: |
          go install github.com/securego/gosec/v2/cmd/gosec@latest
          gosec -exclude=G104 ./...