name: SonarQube on: push: branches: - main # or the name of your main branch env: TEST_HOST: ${{ secrets.TEST_HOST }} TEST_FROM: ${{ secrets.TEST_USER }} TEST_ALLOW_SEND: "1" TEST_SMTPAUTH_USER: ${{ secrets.TEST_USER }} TEST_SMTPAUTH_PASS: ${{ secrets.TEST_PASS }} TEST_SMTPAUTH_TYPE: "LOGIN" jobs: build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v2.1.3 with: go-version: 1.18.x - name: Run unit Tests run: | go test -v -race --coverprofile=./cov.out ./... - name: Run Gosec Security Scanner run: | go get github.com/securego/gosec/cmd/gosec gosec -no-fail -fmt=sonarqube -out report.json ./... - uses: sonarsource/sonarqube-scan-action@master env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} - uses: sonarsource/sonarqube-quality-gate-action@master timeout-minutes: 5 env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}