From 80d08edbf953e36114069dc7531e3116b90cd5c5 Mon Sep 17 00:00:00 2001 From: Mahabub <mahabubx7@gmail.com> Date: Mon, 14 Oct 2024 15:35:50 +0600 Subject: [PATCH] ci: added ci tests and coverage report automation --- .github/workflows/ci.yml | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4ea8c11 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: "14" + + - name: Install dependencies + run: npm install + + - name: Run tests + run: npm run test + + - name: Run test coverage + run: npm run coverage + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v2 + with: + token: ${{ secrets.CODECOV_TOKEN }} + + - name: Generate coverage badge + run: npx covgen badge + + - name: Update README with coverage badge + run: | + COVERAGE_BADGE=$(cat coverage/badge.svg) + sed -i 's|<img src=".*" alt="Coverage Badge"/>|'"$COVERAGE_BADGE"'|' README.md + + - name: Generate test result badge + run: npx vitest-badge-gen + + - name: Update README with test result badge + run: | + TEST_BADGE=$(cat test-result/badge.svg) + sed -i 's|<img src=".*" alt="Test Result Badge"/>|'"$TEST_BADGE"'|' README.md