name: Run tests on: pull_request: paths: - '**.go' - 'go.*' - .github/workflows/test.yaml push: paths: - '**.go' - 'go.*' - .github/workflows/test.yaml jobs: test: runs-on: ubuntu-latest steps: - name: Set up Go 1.13 uses: actions/setup-go@v1 with: go-version: 1.13 id: go - uses: actions/checkout@v1 - name: Run tests run: | go test ./... -v -race -coverprofile cover.out -covermode=atomic - name: Checkout action if tests failed if: failure() uses: actions/checkout@v2 with: repository: processone/xmpp-notifier - name: Tests failed on PR notif if: failure() && github.event_name == 'pull_request' id: test_fail_pr_notif uses: ./ with: jid: ${{ secrets.bot_username }} password: ${{ secrets.bot_password }} server_host: ${{ secrets.server_rooms_domain }} recipient: ${{ secrets.room_correspondent }} server_port: ${{ secrets.server_port }} message: | tests for the following PR have failed : ${{ github.event.pull_request.html_url }} recipient_is_room: true - name: Convert coverage to lcov uses: jandelgado/gcov2lcov-action@v1.0.0 with: infile: cover.out outfile: coverage.lcov - name: Coveralls uses: coverallsapp/github-action@v1.0.1 with: github-token: ${{ secrets.github_token }} path-to-lcov: coverage.lcov