name: Coverage Badge on: push: branches: [ main ] paths: - 'llama_stack/**' - 'tests/unit/**' - 'uv.lock' - 'pyproject.toml' - 'requirements.txt' - '.github/workflows/unit-tests.yml' - '.github/workflows/coverage-badge.yml' # This workflow workflow_dispatch: jobs: unit-tests: permissions: contents: write # for peter-evans/create-pull-request to create branch pull-requests: write # for peter-evans/create-pull-request to create a PR runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Install dependencies uses: ./.github/actions/setup-runner - name: Run unit tests run: | ./scripts/unit-tests.sh - name: Coverage Badge uses: tj-actions/coverage-badge-py@1788babcb24544eb5bbb6e0d374df5d1e54e670f # v2.0.4 - name: Verify Changed files uses: tj-actions/verify-changed-files@a1c6acee9df209257a246f2cc6ae8cb6581c1edf # v20.0.4 id: verify-changed-files with: files: coverage.svg - name: Commit files if: steps.verify-changed-files.outputs.files_changed == 'true' run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git add coverage.svg git commit -m "Updated coverage.svg" - name: Create Pull Request if: steps.verify-changed-files.outputs.files_changed == 'true' uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 with: token: ${{ secrets.GITHUB_TOKEN }} title: "ci: [Automatic] Coverage Badge Update" body: | This PR updates the coverage badge based on the latest coverage report. Automatically generated by the [workflow coverage-badge.yaml](.github/workflows/coverage-badge.yaml) delete-branch: true