feat(ci): add code coverage

Ayman Bagabas created

Change summary

.github/workflows/build.yml | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

Detailed changes

.github/workflows/build.yml 🔗

@@ -9,4 +9,21 @@ jobs:
   snapshot:
     uses: charmbracelet/meta/.github/workflows/snapshot.yml@main
     secrets:
-      goreleaser_key: ${{ secrets.GORELEASER_KEY }}
+      goreleaser_key: ${{ secrets.GORELEASER_KEY }}
+
+  coverage:
+    runs-on: ubuntu-latest
+    if: ${{ github.event_name == 'pull_request' }}
+    steps:
+      - uses: actions/checkout@v3
+
+      - name: Set up Go
+        uses: actions/setup-go@v3
+        with:
+          go-version: ^1
+
+      - name: Test
+        run: go test -failfast -race -coverpkg=./... -covermode=atomic -coverprofile=coverage.txt ./... -timeout 5m
+      - uses: codecov/codecov-action@v3
+        with:
+          file: ./coverage.txt