diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 35bc1ac..8e1eb13 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,6 +15,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v2 + with: + fetch-depth: 0 # Esto es necesario para acceder al historial completo - name: Set up Node.js uses: actions/setup-node@v2 @@ -26,3 +28,40 @@ jobs: - name: Run tests run: npm run test:handler + + - name: Install jq + run: sudo apt-get install jq + + - name: Generate coverage badge + run: | + COVERAGE=$(cat coverage/coverage-summary.json | jq '.total.lines.pct') + echo "![Coverage](https://img.shields.io/badge/coverage-${COVERAGE}%25-brightgreen)" > coverage/coverage_badge.md + + - name: Create and switch to a new branch + run: | + git checkout -b update-coverage-badge + + - name: Update README with coverage badge + run: | + BADGE_CONTENT=$(cat coverage/coverage_badge.md) + sed -i "s|!\[Coverage\](.*)|${BADGE_CONTENT}|" README.md + + - name: Show repository information + run: | + echo "Current Repository: $(git remote -v)" + + - name: Commit and push changes + run: | + git config --local user.email "${{ secrets.GIT_USER_EMAIL }}" + git config --local user.name "${{ secrets.GIT_USER_NAME }}" + git add README.md + git commit -m "Update coverage badge" + git push origin HEAD:update-coverage-badge + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + with: + title: "Update coverage badge" + body: "This PR updates the coverage badge in README." + base: main + head: update-coverage-badge diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e0b3e3 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +![Coverage](https://img.shields.io/badge/coverage-%25-brightgreen) diff --git a/package.json b/package.json index 4980c53..1473a3c 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "src/index.ts", "scripts": { "test:e2e": "cross-env NODE_ENV=automated_tests jest --testRegex='.*\\.e2e\\.spec\\.ts$'", - "test:handler": "cross-env NODE_ENV=automated_tests jest --testRegex='.*\\.handler\\.spec\\.ts$' --coverage", + "test:handler": "cross-env NODE_ENV=automated_tests jest --testRegex='.*\\.handler\\.spec\\.ts$' --coverage --coverageReporters=json-summary", "prebuild": "del /q dist", "create-package": "node -e \"require('fs').writeFileSync('temp-dependencies-layer/package.json', JSON.stringify({ name: 'temp-dependencies-layer', version: '1.0.0', dependencies: {} }))\"", "build:index": "esbuild src/index.ts --banner:js=\"/* global handler */\" --bundle --minify --sourcemap --platform=node --target=es2020 --outdir=temp-index",