Skip to content

Migrate coverage reporting from Coveralls to Codecov#10

Merged
BenMorel merged 2 commits intomasterfrom
copilot/migrate-to-codecov
Feb 26, 2026
Merged

Migrate coverage reporting from Coveralls to Codecov#10
BenMorel merged 2 commits intomasterfrom
copilot/migrate-to-codecov

Conversation

Copy link
Contributor

Copilot AI commented Feb 26, 2026

Replaces Coveralls with Codecov for coverage reporting, removing the php-coveralls dev dependency in the process. Also fixes a pre-existing typo in the CI workflow (mkdir -p mkdir -p build/logs).

Changes

  • .github/workflows/ci.yml: Simplify coverage clover output to clover.xml (drop the bogus mkdir -p mkdir -p build/logs line); replace the php-coveralls upload step with codecov/codecov-action@v5 using CODECOV_TOKEN
  • README.md: Swap Coveralls badge for Codecov badge
  • composer.json: Remove php-coveralls/php-coveralls from require-dev
Original prompt

Migrate from Coveralls to Codecov for coverage reporting, mirroring the changes made in brick/math#109.

Changes required

1. .github/workflows/ci.yml

In the phpunit job, make the following changes:

  • In the "Run PHPUnit with coverage" step, change the clover output path from build/logs/clover.xml to clover.xml (and remove the mkdir -p build/logs line and the mkdir -p mkdir -p build/logs bug):

    - name: Run PHPUnit with coverage
      run: vendor/bin/phpunit --coverage-clover clover.xml
      if: ${{ matrix.php-version == env.COVERAGE_PHP_VERSION }}
  • Replace the "Upload coverage report to Coveralls" step with:

    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v5
      env:
        CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
      if: ${{ matrix.php-version == env.COVERAGE_PHP_VERSION }}

    (Remove the old step that runs vendor/bin/php-coveralls with COVERALLS_REPO_TOKEN.)

Here is the current full content of .github/workflows/ci.yml for reference:

name: CI

on:
  push:
  pull_request:

env:
  PSALM_PHP_VERSION: "8.4"
  COVERAGE_PHP_VERSION: "8.4"

jobs:
  psalm:
    name: Psalm
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ env.PSALM_PHP_VERSION }}
      - name: Install composer dependencies
        uses: ramsey/composer-install@v3
      - name: Run Psalm
        run: vendor/bin/psalm --show-info=false --find-unused-psalm-suppress --no-progress

  phpunit:
    name: PHPUnit
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        php-version:
          - "8.1"
          - "8.2"
          - "8.3"
          - "8.4"
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-version }}
          coverage: xdebug
      - name: Install composer dependencies
        uses: ramsey/composer-install@v3
      - name: Run PHPUnit
        run: vendor/bin/phpunit
        if: ${{ matrix.php-version != env.COVERAGE_PHP_VERSION }}
      - name: Run PHPUnit with coverage
        run: |
          mkdir -p mkdir -p build/logs
          vendor/bin/phpunit --coverage-clover build/logs/clover.xml
        if: ${{ matrix.php-version == env.COVERAGE_PHP_VERSION }}
      - name: Upload coverage report to Coveralls
        run: vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v
        env:
          COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        if: ${{ matrix.php-version == env.COVERAGE_PHP_VERSION }}

2. README.md

Replace the Coveralls badge with a Codecov badge. Look for the Coveralls badge in the README.md and replace it with:

[![Coverage](https://codecov.io/github/brick/db/graph/badge.svg)](https://codecov.io/github/brick/db)

3. composer.json

Remove php-coveralls/php-coveralls from the require-dev section.

This pull request was created from Copilot chat.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: BenMorel <1952838+BenMorel@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate coverage reporting from Coveralls to Codecov Migrate coverage reporting from Coveralls to Codecov Feb 26, 2026
@BenMorel BenMorel marked this pull request as ready for review February 26, 2026 23:33
@BenMorel BenMorel merged commit 0f5f425 into master Feb 26, 2026
10 checks passed
@codecov
Copy link

codecov bot commented Feb 27, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants