From 8b75d645a20e694e0021b1c16d13c2aaed3666e3 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 20:07:34 +0300 Subject: [PATCH 01/12] fix: pass original context to Coveralls --- .github/workflows/coverage.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 2a8d0582..bbc05765 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -45,3 +45,11 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true + carryforward: "Integration,Unit" + # Pass the original commit SHA and PR context to maintain consistency + git-commit: ${{ github.event.workflow_run.head_sha }} + git-branch: ${{ github.event.workflow_run.head_branch }} + service-number: ${{ github.event.workflow_run.run_number }} + service-job-id: ${{ github.event.workflow_run.id }} + # Handle pull request context properly + pull-request: ${{ github.event.workflow_run.pull_requests[0].number || '' }} From 036c059219ea9f78db1fb1403b8c9bf06927283f Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 20:18:36 +0300 Subject: [PATCH 02/12] no message --- .github/workflows/coverage.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index bbc05765..cc394093 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -4,11 +4,13 @@ on: workflow_run: workflows: ["Integration Tests", "Unit Tests"] types: [completed] + # Also allow manual triggering for debugging + workflow_dispatch: jobs: finalize: runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_sha == github.sha }} + if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} # Needed for listWorkflowRunsForRepo and safe defaults for token scope permissions: actions: read @@ -23,10 +25,13 @@ jobs: uses: actions/github-script@v7 with: script: | + // For manual dispatch, use the current SHA, otherwise use the triggering workflow's SHA + const targetSha = context.payload.workflow_run?.head_sha || context.sha; + const workflows = await github.rest.actions.listWorkflowRunsForRepo({ owner: context.repo.owner, repo: context.repo.repo, - head_sha: context.payload.workflow_run.head_sha, + head_sha: targetSha, status: 'completed', per_page: 100 }); @@ -37,6 +42,12 @@ jobs: ) ); + // Debug information + core.info(`Found ${workflows.data.workflow_runs.length} workflow runs for SHA ${targetSha}`); + workflows.data.workflow_runs.forEach(run => { + core.info(`- ${run.name}: ${run.conclusion} (${run.status})`); + }); + core.info(bothComplete ? 'Both workflows completed successfully.' : 'Waiting for other workflow to complete.'); core.setOutput('ready', String(bothComplete)); @@ -47,9 +58,8 @@ jobs: parallel-finished: true carryforward: "Integration,Unit" # Pass the original commit SHA and PR context to maintain consistency - git-commit: ${{ github.event.workflow_run.head_sha }} - git-branch: ${{ github.event.workflow_run.head_branch }} - service-number: ${{ github.event.workflow_run.run_number }} - service-job-id: ${{ github.event.workflow_run.id }} - # Handle pull request context properly - pull-request: ${{ github.event.workflow_run.pull_requests[0].number || '' }} + git-commit: ${{ github.event.workflow_run.head_sha || github.sha }} + git-branch: ${{ github.event.workflow_run.head_branch || github.ref_name }} + service-number: ${{ github.event.workflow_run.run_number || github.run_number }} + service-job-id: ${{ github.event.workflow_run.id || github.run_id }} + pull-request: ${{ github.event.workflow_run.pull_requests[0].number || github.event.pull_request.number || '' }} From 24f6bcd7ca7029f3043220fb0f178b589ceafd25 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 20:20:15 +0300 Subject: [PATCH 03/12] no message --- .github/workflows/coverage.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index cc394093..0393f193 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -60,6 +60,5 @@ jobs: # Pass the original commit SHA and PR context to maintain consistency git-commit: ${{ github.event.workflow_run.head_sha || github.sha }} git-branch: ${{ github.event.workflow_run.head_branch || github.ref_name }} - service-number: ${{ github.event.workflow_run.run_number || github.run_number }} - service-job-id: ${{ github.event.workflow_run.id || github.run_id }} + service-number: ${{ github.event.workflow_run.id || github.run_id }} pull-request: ${{ github.event.workflow_run.pull_requests[0].number || github.event.pull_request.number || '' }} From dc04cee5eee1ff85eae6b4b54f9a2104f3251b34 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 20:29:25 +0300 Subject: [PATCH 04/12] fix: improve Coverage workflow debugging and concurrency handling --- .github/workflows/coverage.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 0393f193..4f17a0f2 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -18,7 +18,7 @@ jobs: statuses: write # Prevent multiple concurrent finalizers for the same commit concurrency: - group: coverage-${{ github.event.workflow_run.head_sha }} + group: coverage-${{ github.event.workflow_run.head_sha || github.sha }} cancel-in-progress: true steps: - id: check @@ -44,10 +44,19 @@ jobs: // Debug information core.info(`Found ${workflows.data.workflow_runs.length} workflow runs for SHA ${targetSha}`); + core.info(`Looking for workflows: Integration Tests, Unit Tests`); + workflows.data.workflow_runs.forEach(run => { - core.info(`- ${run.name}: ${run.conclusion} (${run.status})`); + core.info(`- ${run.name}: ${run.conclusion} (${run.status}) - ID: ${run.id}`); }); + // Check each required workflow specifically + const integrationTests = workflows.data.workflow_runs.find(run => run.name === 'Integration Tests'); + const unitTests = workflows.data.workflow_runs.find(run => run.name === 'Unit Tests'); + + core.info(`Integration Tests found: ${integrationTests ? 'YES' : 'NO'} - ${integrationTests?.conclusion || 'N/A'}`); + core.info(`Unit Tests found: ${unitTests ? 'YES' : 'NO'} - ${unitTests?.conclusion || 'N/A'}`); + core.info(bothComplete ? 'Both workflows completed successfully.' : 'Waiting for other workflow to complete.'); core.setOutput('ready', String(bothComplete)); From 3f2e7a0c2bce01a1837a864e2799e0a2d0a7b26f Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 21:09:37 +0300 Subject: [PATCH 05/12] no message --- .github/workflows/coverage.yml | 38 +++------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 4f17a0f2..7d881860 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -4,34 +4,21 @@ on: workflow_run: workflows: ["Integration Tests", "Unit Tests"] types: [completed] - # Also allow manual triggering for debugging workflow_dispatch: jobs: finalize: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} - # Needed for listWorkflowRunsForRepo and safe defaults for token scope - permissions: - actions: read - contents: read - statuses: write - # Prevent multiple concurrent finalizers for the same commit - concurrency: - group: coverage-${{ github.event.workflow_run.head_sha || github.sha }} - cancel-in-progress: true steps: - id: check uses: actions/github-script@v7 with: script: | - // For manual dispatch, use the current SHA, otherwise use the triggering workflow's SHA - const targetSha = context.payload.workflow_run?.head_sha || context.sha; - const workflows = await github.rest.actions.listWorkflowRunsForRepo({ owner: context.repo.owner, repo: context.repo.repo, - head_sha: targetSha, + head_sha: context.payload.workflow_run?.head_sha || context.sha, status: 'completed', per_page: 100 }); @@ -42,32 +29,13 @@ jobs: ) ); - // Debug information - core.info(`Found ${workflows.data.workflow_runs.length} workflow runs for SHA ${targetSha}`); - core.info(`Looking for workflows: Integration Tests, Unit Tests`); - - workflows.data.workflow_runs.forEach(run => { - core.info(`- ${run.name}: ${run.conclusion} (${run.status}) - ID: ${run.id}`); - }); - - // Check each required workflow specifically - const integrationTests = workflows.data.workflow_runs.find(run => run.name === 'Integration Tests'); - const unitTests = workflows.data.workflow_runs.find(run => run.name === 'Unit Tests'); - - core.info(`Integration Tests found: ${integrationTests ? 'YES' : 'NO'} - ${integrationTests?.conclusion || 'N/A'}`); - core.info(`Unit Tests found: ${unitTests ? 'YES' : 'NO'} - ${unitTests?.conclusion || 'N/A'}`); - core.info(bothComplete ? 'Both workflows completed successfully.' : 'Waiting for other workflow to complete.'); core.setOutput('ready', String(bothComplete)); - if: ${{ steps.check.outputs.ready == 'true' }} + name: Finalize coverage report uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true - carryforward: "Integration,Unit" - # Pass the original commit SHA and PR context to maintain consistency - git-commit: ${{ github.event.workflow_run.head_sha || github.sha }} - git-branch: ${{ github.event.workflow_run.head_branch || github.ref_name }} - service-number: ${{ github.event.workflow_run.id || github.run_id }} - pull-request: ${{ github.event.workflow_run.pull_requests[0].number || github.event.pull_request.number || '' }} + carryforward: "Unit,Integration" From 8ea35630143cf164b9735656c321da78247c457e Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 23:12:20 +0300 Subject: [PATCH 06/12] no message --- .github/workflows/coverage.yml | 41 ------------- .github/workflows/coveralls.yml | 81 +++++++++++++++++++++++++ .github/workflows/integration-tests.yml | 13 ++-- .github/workflows/unit-tests.yml | 13 ++-- 4 files changed, 93 insertions(+), 55 deletions(-) delete mode 100644 .github/workflows/coverage.yml create mode 100644 .github/workflows/coveralls.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index 7d881860..00000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Coverage - -on: - workflow_run: - workflows: ["Integration Tests", "Unit Tests"] - types: [completed] - workflow_dispatch: - -jobs: - finalize: - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} - steps: - - id: check - uses: actions/github-script@v7 - with: - script: | - const workflows = await github.rest.actions.listWorkflowRunsForRepo({ - owner: context.repo.owner, - repo: context.repo.repo, - head_sha: context.payload.workflow_run?.head_sha || context.sha, - status: 'completed', - per_page: 100 - }); - - const bothComplete = ['Integration Tests', 'Unit Tests'].every(name => - workflows.data.workflow_runs.some( - run => run.name === name && run.conclusion === 'success' - ) - ); - - core.info(bothComplete ? 'Both workflows completed successfully.' : 'Waiting for other workflow to complete.'); - core.setOutput('ready', String(bothComplete)); - - - if: ${{ steps.check.outputs.ready == 'true' }} - name: Finalize coverage report - uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - parallel-finished: true - carryforward: "Unit,Integration" diff --git a/.github/workflows/coveralls.yml b/.github/workflows/coveralls.yml new file mode 100644 index 00000000..c1dd8899 --- /dev/null +++ b/.github/workflows/coveralls.yml @@ -0,0 +1,81 @@ +name: Coveralls + +on: + workflow_run: + workflows: ["Integration Tests", "Unit Tests"] + types: [completed] + workflow_dispatch: + +permissions: + contents: read + +jobs: + finalize: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} + steps: + - id: check + name: Verify all prerequisite workflows succeeded + uses: actions/github-script@v7 + with: + script: | + const {owner, repo} = context.repo; + const headSha = context.payload.workflow_run?.head_sha || context.sha; + + const runs = await github.rest.actions.listWorkflowRunsForRepo({ + owner, + repo, + head_sha: headSha, + status: 'completed', + per_page: 100 + }); + + const findRun = (name) => runs.data.workflow_runs.find(r => r.name === name && r.conclusion === 'success'); + + const integration = findRun('Integration Tests'); + const unit = findRun('Unit Tests'); + + const ok = Boolean(unit && integration); + core.info(ok ? 'All workflows completed successfully.' : 'Waiting for a remaining workflow to complete.'); + + core.setOutput('ready', String(ok)); + if (ok) { + core.setOutput('unit_run_id', String(unit.id)); + core.setOutput('integration_run_id', String(integration.id)); + } + + - if: ${{ steps.check.outputs.ready == 'true' }} + name: Download artifacts from Integration Tests run + uses: actions/download-artifact@v4 + with: + name: coverage-integration-clover + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ steps.check.outputs.integration_run_id }} + path: integration-coverage + + - if: ${{ steps.check.outputs.ready == 'true' }} + name: Download artifacts from Unit Tests run + uses: actions/download-artifact@v4 + with: + name: coverage-unit-clover + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ steps.check.outputs.unit_run_id }} + path: unit-coverage + + - if: ${{ steps.check.outputs.ready == 'true' }} + name: Merge Clover reports + uses: danielpalme/ReportGenerator-GitHub-Action@v5 + with: + reports: | + unit-coverage/clover.xml; + integration-coverage/clover.xml + targetdir: merged-coverage + reporttypes: Clover + + - if: ${{ steps.check.outputs.ready == 'true' }} + name: Upload merged coverage to Coveralls + uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + file: ./merged-coverage/Clover.xml + fail-on-error: false diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index b6666a95..1e2e9693 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -124,12 +124,11 @@ jobs: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - - name: Upload coverage results to Coveralls + - name: Upload integration coverage artifact if: matrix.calculate-code-coverage == true - uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 + uses: actions/upload-artifact@v4 with: - github-token: ${{ secrets.GITHUB_TOKEN }} - file: ./var/logs/test-coverage/integration/clover.xml - parallel: true - flag-name: "Integration" - fail-on-error: false + name: coverage-integration-clover + path: ./var/logs/test-coverage/integration/clover.xml + if-no-files-found: error + retention-days: 7 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index ac1df675..eb7ea4ff 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -107,12 +107,11 @@ jobs: - name: Run unit test suite run: composer run-unit-tests - - name: Upload coverage results to Coveralls + - name: Upload unit coverage artifact if: matrix.calculate-code-coverage == true - uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 + uses: actions/upload-artifact@v4 with: - github-token: ${{ secrets.GITHUB_TOKEN }} - file: ./var/logs/test-coverage/unit/clover.xml - parallel: true - flag-name: "Unit" - fail-on-error: false + name: coverage-unit-clover + path: ./var/logs/test-coverage/unit/clover.xml + if-no-files-found: error + retention-days: 7 From a21c1583fbe8517187658b71bd3fbf3fa9ad08b8 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 23:18:31 +0300 Subject: [PATCH 07/12] no message --- .github/workflows/{coveralls.yml => coverage.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{coveralls.yml => coverage.yml} (99%) diff --git a/.github/workflows/coveralls.yml b/.github/workflows/coverage.yml similarity index 99% rename from .github/workflows/coveralls.yml rename to .github/workflows/coverage.yml index c1dd8899..e08428c4 100644 --- a/.github/workflows/coveralls.yml +++ b/.github/workflows/coverage.yml @@ -1,4 +1,4 @@ -name: Coveralls +name: Coverage on: workflow_run: From 7b6fc9634de555af59ba7eed19cabb217066fea1 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 23:41:04 +0300 Subject: [PATCH 08/12] no message --- .github/workflows/coverage.yml | 88 +++++++------------------ .github/workflows/integration-tests.yml | 13 ++-- .github/workflows/unit-tests.yml | 13 ++-- 3 files changed, 37 insertions(+), 77 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index e08428c4..99841c91 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -1,81 +1,39 @@ name: Coverage on: - workflow_run: - workflows: ["Integration Tests", "Unit Tests"] - types: [completed] - workflow_dispatch: + push: + branches: + - main + paths-ignore: + - '.github/actions/release-please/**' + pull_request: + branches: + - main permissions: contents: read + checks: read + actions: read jobs: - finalize: + coverage: runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} steps: - - id: check - name: Verify all prerequisite workflows succeeded - uses: actions/github-script@v7 + - name: Wait for Unit and Integration jobs + uses: kachick/wait-other-jobs@755be1ff093bd2a6a82a24bfc50ef4d9fe491a59 # v3.8.1 with: - script: | - const {owner, repo} = context.repo; - const headSha = context.payload.workflow_run?.head_sha || context.sha; - - const runs = await github.rest.actions.listWorkflowRunsForRepo({ - owner, - repo, - head_sha: headSha, - status: 'completed', - per_page: 100 - }); - - const findRun = (name) => runs.data.workflow_runs.find(r => r.name === name && r.conclusion === 'success'); - - const integration = findRun('Integration Tests'); - const unit = findRun('Unit Tests'); - - const ok = Boolean(unit && integration); - core.info(ok ? 'All workflows completed successfully.' : 'Waiting for a remaining workflow to complete.'); - - core.setOutput('ready', String(ok)); - if (ok) { - core.setOutput('unit_run_id', String(unit.id)); - core.setOutput('integration_run_id', String(integration.id)); - } - - - if: ${{ steps.check.outputs.ready == 'true' }} - name: Download artifacts from Integration Tests run - uses: actions/download-artifact@v4 - with: - name: coverage-integration-clover - github-token: ${{ secrets.GITHUB_TOKEN }} - run-id: ${{ steps.check.outputs.integration_run_id }} - path: integration-coverage - - - if: ${{ steps.check.outputs.ready == 'true' }} - name: Download artifacts from Unit Tests run - uses: actions/download-artifact@v4 - with: - name: coverage-unit-clover - github-token: ${{ secrets.GITHUB_TOKEN }} - run-id: ${{ steps.check.outputs.unit_run_id }} - path: unit-coverage - - - if: ${{ steps.check.outputs.ready == 'true' }} - name: Merge Clover reports - uses: danielpalme/ReportGenerator-GitHub-Action@v5 - with: - reports: | - unit-coverage/clover.xml; - integration-coverage/clover.xml - targetdir: merged-coverage - reporttypes: Clover + skip-same-workflow: 'true' + wait-list: | + [ + {"workflowFile": "integration-tests.yml"}, + {"workflowFile": "unit-tests.yml"} + ] + timeout-minutes: 15 - if: ${{ steps.check.outputs.ready == 'true' }} - name: Upload merged coverage to Coveralls + name: Finalize Coveralls parallel build uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} - file: ./merged-coverage/Clover.xml - fail-on-error: false + parallel-finished: true + carryforward: "Integration,Unit" diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 1e2e9693..b6666a95 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -124,11 +124,12 @@ jobs: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - - name: Upload integration coverage artifact + - name: Upload coverage results to Coveralls if: matrix.calculate-code-coverage == true - uses: actions/upload-artifact@v4 + uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 with: - name: coverage-integration-clover - path: ./var/logs/test-coverage/integration/clover.xml - if-no-files-found: error - retention-days: 7 + github-token: ${{ secrets.GITHUB_TOKEN }} + file: ./var/logs/test-coverage/integration/clover.xml + parallel: true + flag-name: "Integration" + fail-on-error: false diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index eb7ea4ff..ac1df675 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -107,11 +107,12 @@ jobs: - name: Run unit test suite run: composer run-unit-tests - - name: Upload unit coverage artifact + - name: Upload coverage results to Coveralls if: matrix.calculate-code-coverage == true - uses: actions/upload-artifact@v4 + uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 with: - name: coverage-unit-clover - path: ./var/logs/test-coverage/unit/clover.xml - if-no-files-found: error - retention-days: 7 + github-token: ${{ secrets.GITHUB_TOKEN }} + file: ./var/logs/test-coverage/unit/clover.xml + parallel: true + flag-name: "Unit" + fail-on-error: false From c158b6cfc2b5d8c695ef51ca756598012bb5761b Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 23:45:45 +0300 Subject: [PATCH 09/12] no message --- .github/workflows/coverage.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 99841c91..e1fd8c2c 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -23,6 +23,8 @@ jobs: uses: kachick/wait-other-jobs@755be1ff093bd2a6a82a24bfc50ef4d9fe491a59 # v3.8.1 with: skip-same-workflow: 'true' + warmup-delay: 'PT1M' + retry-method: 'exponential_backoff' wait-list: | [ {"workflowFile": "integration-tests.yml"}, @@ -30,8 +32,7 @@ jobs: ] timeout-minutes: 15 - - if: ${{ steps.check.outputs.ready == 'true' }} - name: Finalize Coveralls parallel build + - name: Finalize Coveralls parallel build uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} From 846c134b3ec5dddd6d9cfd1c05bf1ef9635c6336 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Mon, 25 Aug 2025 23:49:33 +0300 Subject: [PATCH 10/12] no message --- .github/workflows/coverage.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index e1fd8c2c..2335fda7 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -16,14 +16,14 @@ permissions: actions: read jobs: - coverage: + wait-for-tests-worflows-before-upload: runs-on: ubuntu-latest steps: - name: Wait for Unit and Integration jobs uses: kachick/wait-other-jobs@755be1ff093bd2a6a82a24bfc50ef4d9fe491a59 # v3.8.1 with: skip-same-workflow: 'true' - warmup-delay: 'PT1M' + warmup-delay: 'PT30S' retry-method: 'exponential_backoff' wait-list: | [ From 3f7884aaf5ef0d0e913fe94ded3e712ce712a828 Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Tue, 26 Aug 2025 00:03:55 +0300 Subject: [PATCH 11/12] no message --- .github/workflows/coverage.yml | 7 +++++-- .github/workflows/integration-tests.yml | 3 +++ .github/workflows/unit-tests.yml | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 2335fda7..991756e0 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -23,8 +23,8 @@ jobs: uses: kachick/wait-other-jobs@755be1ff093bd2a6a82a24bfc50ef4d9fe491a59 # v3.8.1 with: skip-same-workflow: 'true' - warmup-delay: 'PT30S' - retry-method: 'exponential_backoff' + warmup-delay: 'PT1M' + retry-method: 'equal_intervals' wait-list: | [ {"workflowFile": "integration-tests.yml"}, @@ -34,6 +34,9 @@ jobs: - name: Finalize Coveralls parallel build uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 + env: + COVERALLS_SERVICE_NAME: github + COVERALLS_SERVICE_NUMBER: ${{ github.sha }} with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index b6666a95..5ffd4fe2 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -127,6 +127,9 @@ jobs: - name: Upload coverage results to Coveralls if: matrix.calculate-code-coverage == true uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 + env: + COVERALLS_SERVICE_NAME: github + COVERALLS_SERVICE_NUMBER: ${{ github.sha }} with: github-token: ${{ secrets.GITHUB_TOKEN }} file: ./var/logs/test-coverage/integration/clover.xml diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index ac1df675..7b05da87 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -110,6 +110,9 @@ jobs: - name: Upload coverage results to Coveralls if: matrix.calculate-code-coverage == true uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2 + env: + COVERALLS_SERVICE_NAME: github + COVERALLS_SERVICE_NUMBER: ${{ github.sha }} with: github-token: ${{ secrets.GITHUB_TOKEN }} file: ./var/logs/test-coverage/unit/clover.xml From 9b247385885ceb6a8e8d87f26c42850441505d6e Mon Sep 17 00:00:00 2001 From: Martin Georgiev Date: Tue, 26 Aug 2025 00:08:52 +0300 Subject: [PATCH 12/12] no message --- .github/workflows/coverage.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 991756e0..32acbca3 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -23,14 +23,14 @@ jobs: uses: kachick/wait-other-jobs@755be1ff093bd2a6a82a24bfc50ef4d9fe491a59 # v3.8.1 with: skip-same-workflow: 'true' - warmup-delay: 'PT1M' + warmup-delay: 'PT2M' retry-method: 'equal_intervals' wait-list: | [ {"workflowFile": "integration-tests.yml"}, {"workflowFile": "unit-tests.yml"} ] - timeout-minutes: 15 + timeout-minutes: 20 - name: Finalize Coveralls parallel build uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2