diff --git a/.github/workflows/sql-test-and-build-workflow.yml b/.github/workflows/sql-test-and-build-workflow.yml index c86195a6cc8..c59d7457478 100644 --- a/.github/workflows/sql-test-and-build-workflow.yml +++ b/.github/workflows/sql-test-and-build-workflow.yml @@ -65,13 +65,14 @@ jobs: mkdir -p opensearch-sql-builds cp -r ./plugin/build/distributions/*.zip opensearch-sql-builds/ - - name: Upload SQL Coverage Report - if: ${{ always() }} - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4 - continue-on-error: true + - name: Upload SQL Coverage Report Artifact + if: ${{ !cancelled() && matrix.test-type == 'unit' && matrix.java == 21 }} + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: - flags: sql-engine - token: ${{ secrets.CODECOV_TOKEN }} + name: jacoco-coverage-reports + path: '**/build/reports/jacoco/test/jacocoTestReport.xml' + retention-days: 1 + if-no-files-found: error - name: Upload Artifacts if: ${{ matrix.test-type == 'unit' }} @@ -100,6 +101,30 @@ jobs: doctest/build/testclusters/docTestCluster-0/logs/* integ-test/build/testclusters/*/logs/* + upload-coverage: + needs: build-linux + name: Upload SQL coverage report to Codecov + if: ${{ !cancelled() && github.repository == 'opensearch-project/sql' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + + - name: Download coverage reports + id: download-coverage + continue-on-error: true + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + with: + name: jacoco-coverage-reports + path: coverage + + - name: Upload SQL Coverage Report + uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 + if: steps.download-coverage.outcome == 'success' + with: + flags: sql-engine + directory: coverage + token: ${{ secrets.CODECOV_TOKEN }} + build-windows-macos: strategy: fail-fast: false @@ -144,14 +169,6 @@ jobs: mkdir -p opensearch-sql-builds cp -r ./plugin/build/distributions/*.zip opensearch-sql-builds/ - - name: Upload SQL Coverage Report - if: ${{ always() && matrix.entry.os == 'ubuntu-latest' }} - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4 - continue-on-error: true - with: - flags: sql-engine - token: ${{ secrets.CODECOV_TOKEN }} - - name: Upload Artifacts if: ${{ matrix.test-type == 'unit' }} uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4