これは何?
GitHubで公開しているリポジトリのREADMEにテストカバレッジを表示したくなったのですが、結構ハマったのでメモ代わりにうまくいった手順を記載します。
環境
うまくいった方法
-
Codecovのアカウントを作成する
-
GitHubにCodecovのアプリをインストールする。https://github.com/apps/codecov/installations/select_target
-
GitHub Actionsを使い、カバレッジを含むファイルをアップロードする。今回の場合は
build/reports/jacoco/test/jacocoTestReport.xmlが対象になる。
設定例をもとにした自分のリポジトリでの設定例↓name: Test on: push: paths: - "src/**/*.java" - "build.gradle.kts" - "gradle/**" - ".github/workflows/*.yaml" pull_request: paths: - "src/**/*.java" - "build.gradle.kts" - "gradle/**" jobs: test: runs-on: ubuntu-latest permissions: contents: read pull-requests: write # Codecovがプルリクエストにコメントするために必要 steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 # Codecovが正しく動作するために履歴全体を取得 - name: Set up Java 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Run tests with coverage run: ./gradlew test jacocoTestReport && ls build/reports/jacoco/test/jacocoTestReport.xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 - name: Archive test results uses: actions/upload-artifact@v4 if: always() with: name: test-results path: | build/reports/tests/ build/reports/jacoco/
ちょっと待つとREADME.mdに付けたバッチのステータスがunknownからカバレッジになる。
バッチがunknownになる時の対処方
READMEに配置したバッチをクリックした時に以下のような画面に遷移した場合、カバレッジのデータの連携がうまくいっていない
設定が上手くいっている場合↓




