Add code coverage (#1561)

* Add code coverage

* Update meson.yml

* Update meson.yml

* Update meson.yml

* Update meson.yml

* Update meson.yml

* Update meson.yml

* Update meson.yml
diff --git a/.github/workflows/meson.yml b/.github/workflows/meson.yml
index 8314dbc..1899470 100644
--- a/.github/workflows/meson.yml
+++ b/.github/workflows/meson.yml
@@ -1,6 +1,6 @@
 name: meson build and test
 run-name: update pushed to ${{ github.ref }}
-on: [check_run, pull_request, push]
+on: [check_run, push]
 
 jobs:
   publish:
@@ -31,3 +31,35 @@
           meson-version: 1.5.1
           ninja-version: 1.11.1.1
           action: test
+
+  coverage:
+    runs-on: ubuntu-latest
+    
+    steps:
+      - name: checkout repository
+        uses: actions/checkout@v4
+        
+      - name: setup python
+        uses: actions/setup-python@v5
+      
+      - name: meson build
+        uses: BSFishy/meson-build@v1.0.3
+        with:
+          meson-version: 1.5.1
+          ninja-version: 1.11.1.1
+          setup-options: -Db_coverage=true
+          action: build 
+  
+      - name: meson test
+        uses: BSFishy/meson-build@v1.0.3
+        with:
+          meson-version: 1.5.1
+          ninja-version: 1.11.1.1
+          setup-options: -Db_coverage=true
+          action: test
+
+      - name: generate code coverage report
+        uses: threeal/gcovr-action@v1.0.0
+        with:
+          coveralls-send: true
+          github-token: ${{ secrets.GITHUB_TOKEN }}