diff --git a/.github/workflows/ci-basictests.yml b/.github/workflows/ci-basictests.yml index 43ed4ce752..56eb76d5bf 100644 --- a/.github/workflows/ci-basictests.yml +++ b/.github/workflows/ci-basictests.yml @@ -318,8 +318,10 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 if: ${{ !cancelled() && steps.cov.outputs.found == '1' }} - uses: codecov/codecov-action@v4 + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -331,9 +333,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true verbose: true + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-basictests/coverage-report/ci-basictests.info + flags: integration-tests + name: tap-basictests-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-basictests/coverage-report/ci-basictests.info + flags: integration-tests + name: tap-basictests-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 if: always() with: diff --git a/.github/workflows/ci-legacy-clickhouse-g1.yml b/.github/workflows/ci-legacy-clickhouse-g1.yml index 18aa805d75..878f70a534 100644 --- a/.github/workflows/ci-legacy-clickhouse-g1.yml +++ b/.github/workflows/ci-legacy-clickhouse-g1.yml @@ -234,6 +234,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-clickhouse-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -247,12 +250,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -278,9 +280,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-clickhouse-g1/coverage-report/ci-legacy-clickhouse-g1.info + flags: integration-tests + name: tap-legacy-clickhouse-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-clickhouse-g1/coverage-report/ci-legacy-clickhouse-g1.info + flags: integration-tests + name: tap-legacy-clickhouse-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g1.yml b/.github/workflows/ci-legacy-g1.yml index a9edeec3df..9cc963ab95 100644 --- a/.github/workflows/ci-legacy-g1.yml +++ b/.github/workflows/ci-legacy-g1.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g1/coverage-report/ci-legacy-g1.info + flags: integration-tests + name: tap-legacy-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g1/coverage-report/ci-legacy-g1.info + flags: integration-tests + name: tap-legacy-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g2-genai.yml b/.github/workflows/ci-legacy-g2-genai.yml index f0103f88de..86251c3635 100644 --- a/.github/workflows/ci-legacy-g2-genai.yml +++ b/.github/workflows/ci-legacy-g2-genai.yml @@ -247,6 +247,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g2-genai/coverage-report/) # to Codecov. This is REAL ProxySQL coverage -- the proxysql binary @@ -262,12 +265,11 @@ jobs: # tokenless legacy uploads with "branch is protected" HTTP 400 (see # the Phase 1 commit history on CI-unit-tests-asan-coverage.yml). # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -293,9 +295,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g2-genai/coverage-report/ci-legacy-g2-genai.info + flags: integration-tests + name: tap-legacy-g2-genai-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g2-genai/coverage-report/ci-legacy-g2-genai.info + flags: integration-tests + name: tap-legacy-g2-genai-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g2.yml b/.github/workflows/ci-legacy-g2.yml index 91a2d4f549..4d9e77c263 100644 --- a/.github/workflows/ci-legacy-g2.yml +++ b/.github/workflows/ci-legacy-g2.yml @@ -306,8 +306,10 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 if: ${{ !cancelled() && steps.cov.outputs.found == '1' }} - uses: codecov/codecov-action@v4 + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -319,9 +321,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true verbose: true + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g2/coverage-report/ci-legacy-g2.info + flags: integration-tests + name: tap-legacy-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g2/coverage-report/ci-legacy-g2.info + flags: integration-tests + name: tap-legacy-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 if: always() with: diff --git a/.github/workflows/ci-legacy-g3.yml b/.github/workflows/ci-legacy-g3.yml index e58523a2b4..e55d2792cf 100644 --- a/.github/workflows/ci-legacy-g3.yml +++ b/.github/workflows/ci-legacy-g3.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g3/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g3/coverage-report/ci-legacy-g3.info + flags: integration-tests + name: tap-legacy-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g3/coverage-report/ci-legacy-g3.info + flags: integration-tests + name: tap-legacy-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g4.yml b/.github/workflows/ci-legacy-g4.yml index 28c95a7eec..e14f6119ab 100644 --- a/.github/workflows/ci-legacy-g4.yml +++ b/.github/workflows/ci-legacy-g4.yml @@ -302,6 +302,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g4/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -315,12 +318,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -346,9 +348,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g4/coverage-report/ci-legacy-g4.info + flags: integration-tests + name: tap-legacy-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g4/coverage-report/ci-legacy-g4.info + flags: integration-tests + name: tap-legacy-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g5.yml b/.github/workflows/ci-legacy-g5.yml index 2ea23d6a07..5dee794d94 100644 --- a/.github/workflows/ci-legacy-g5.yml +++ b/.github/workflows/ci-legacy-g5.yml @@ -299,6 +299,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g5/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -312,12 +315,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -343,9 +345,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g5/coverage-report/ci-legacy-g5.info + flags: integration-tests + name: tap-legacy-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g5/coverage-report/ci-legacy-g5.info + flags: integration-tests + name: tap-legacy-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g6.yml b/.github/workflows/ci-legacy-g6.yml index 1e36c0344e..8572495d07 100644 --- a/.github/workflows/ci-legacy-g6.yml +++ b/.github/workflows/ci-legacy-g6.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g6/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g6/coverage-report/ci-legacy-g6.info + flags: integration-tests + name: tap-legacy-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g6/coverage-report/ci-legacy-g6.info + flags: integration-tests + name: tap-legacy-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g7.yml b/.github/workflows/ci-legacy-g7.yml index f3d279e474..8290122580 100644 --- a/.github/workflows/ci-legacy-g7.yml +++ b/.github/workflows/ci-legacy-g7.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g7/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g7/coverage-report/ci-legacy-g7.info + flags: integration-tests + name: tap-legacy-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g7/coverage-report/ci-legacy-g7.info + flags: integration-tests + name: tap-legacy-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g8.yml b/.github/workflows/ci-legacy-g8.yml index 62499e39a4..d6502e2fa7 100644 --- a/.github/workflows/ci-legacy-g8.yml +++ b/.github/workflows/ci-legacy-g8.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g8/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g8/coverage-report/ci-legacy-g8.info + flags: integration-tests + name: tap-legacy-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g8/coverage-report/ci-legacy-g8.info + flags: integration-tests + name: tap-legacy-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-legacy-g9.yml b/.github/workflows/ci-legacy-g9.yml index 077f89be84..8cdb494a49 100644 --- a/.github/workflows/ci-legacy-g9.yml +++ b/.github/workflows/ci-legacy-g9.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-legacy-g9/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g9/coverage-report/ci-legacy-g9.info + flags: integration-tests + name: tap-legacy-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-legacy-g9/coverage-report/ci-legacy-g9.info + flags: integration-tests + name: tap-legacy-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g1.yml b/.github/workflows/ci-mariadb10-galera-g1.yml index dde18cac73..a7ba3d3fee 100644 --- a/.github/workflows/ci-mariadb10-galera-g1.yml +++ b/.github/workflows/ci-mariadb10-galera-g1.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g1/coverage-report/ci-mariadb10-galera-g1.info + flags: integration-tests + name: tap-mariadb10-galera-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g1/coverage-report/ci-mariadb10-galera-g1.info + flags: integration-tests + name: tap-mariadb10-galera-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g2.yml b/.github/workflows/ci-mariadb10-galera-g2.yml index a3f03f8cd5..fd42709c52 100644 --- a/.github/workflows/ci-mariadb10-galera-g2.yml +++ b/.github/workflows/ci-mariadb10-galera-g2.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g2/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g2/coverage-report/ci-mariadb10-galera-g2.info + flags: integration-tests + name: tap-mariadb10-galera-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g2/coverage-report/ci-mariadb10-galera-g2.info + flags: integration-tests + name: tap-mariadb10-galera-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g3.yml b/.github/workflows/ci-mariadb10-galera-g3.yml index ab8935b1b4..c7f268e71b 100644 --- a/.github/workflows/ci-mariadb10-galera-g3.yml +++ b/.github/workflows/ci-mariadb10-galera-g3.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g3/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g3/coverage-report/ci-mariadb10-galera-g3.info + flags: integration-tests + name: tap-mariadb10-galera-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g3/coverage-report/ci-mariadb10-galera-g3.info + flags: integration-tests + name: tap-mariadb10-galera-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g4.yml b/.github/workflows/ci-mariadb10-galera-g4.yml index b3f444bf33..505d405993 100644 --- a/.github/workflows/ci-mariadb10-galera-g4.yml +++ b/.github/workflows/ci-mariadb10-galera-g4.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g4/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g4/coverage-report/ci-mariadb10-galera-g4.info + flags: integration-tests + name: tap-mariadb10-galera-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g4/coverage-report/ci-mariadb10-galera-g4.info + flags: integration-tests + name: tap-mariadb10-galera-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g5.yml b/.github/workflows/ci-mariadb10-galera-g5.yml index 35d8c8332f..a17c95b035 100644 --- a/.github/workflows/ci-mariadb10-galera-g5.yml +++ b/.github/workflows/ci-mariadb10-galera-g5.yml @@ -224,6 +224,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g5/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -237,12 +240,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -268,9 +270,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g5/coverage-report/ci-mariadb10-galera-g5.info + flags: integration-tests + name: tap-mariadb10-galera-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g5/coverage-report/ci-mariadb10-galera-g5.info + flags: integration-tests + name: tap-mariadb10-galera-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g6.yml b/.github/workflows/ci-mariadb10-galera-g6.yml index 6ffad7712b..7e25ac0066 100644 --- a/.github/workflows/ci-mariadb10-galera-g6.yml +++ b/.github/workflows/ci-mariadb10-galera-g6.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g6/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g6/coverage-report/ci-mariadb10-galera-g6.info + flags: integration-tests + name: tap-mariadb10-galera-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g6/coverage-report/ci-mariadb10-galera-g6.info + flags: integration-tests + name: tap-mariadb10-galera-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g7.yml b/.github/workflows/ci-mariadb10-galera-g7.yml index 7b728ce70b..6aa2e83586 100644 --- a/.github/workflows/ci-mariadb10-galera-g7.yml +++ b/.github/workflows/ci-mariadb10-galera-g7.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g7/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g7/coverage-report/ci-mariadb10-galera-g7.info + flags: integration-tests + name: tap-mariadb10-galera-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g7/coverage-report/ci-mariadb10-galera-g7.info + flags: integration-tests + name: tap-mariadb10-galera-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g8.yml b/.github/workflows/ci-mariadb10-galera-g8.yml index be21e441ca..0cda0237e0 100644 --- a/.github/workflows/ci-mariadb10-galera-g8.yml +++ b/.github/workflows/ci-mariadb10-galera-g8.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g8/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g8/coverage-report/ci-mariadb10-galera-g8.info + flags: integration-tests + name: tap-mariadb10-galera-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g8/coverage-report/ci-mariadb10-galera-g8.info + flags: integration-tests + name: tap-mariadb10-galera-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mariadb10-galera-g9.yml b/.github/workflows/ci-mariadb10-galera-g9.yml index 9270329abd..1b972f7891 100644 --- a/.github/workflows/ci-mariadb10-galera-g9.yml +++ b/.github/workflows/ci-mariadb10-galera-g9.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mariadb10-galera-g9/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g9/coverage-report/ci-mariadb10-galera-g9.info + flags: integration-tests + name: tap-mariadb10-galera-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mariadb10-galera-g9/coverage-report/ci-mariadb10-galera-g9.info + flags: integration-tests + name: tap-mariadb10-galera-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql56-single-g1.yml b/.github/workflows/ci-mysql56-single-g1.yml index 7eb88a64d4..5471f3f82f 100644 --- a/.github/workflows/ci-mysql56-single-g1.yml +++ b/.github/workflows/ci-mysql56-single-g1.yml @@ -239,6 +239,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql56-single-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -252,12 +255,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -283,9 +285,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql56-single-g1/coverage-report/ci-mysql56-single-g1.info + flags: integration-tests + name: tap-mysql56-single-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql56-single-g1/coverage-report/ci-mysql56-single-g1.info + flags: integration-tests + name: tap-mysql56-single-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g1.yml b/.github/workflows/ci-mysql84-g1.yml index dc6869e58d..e3afe6685c 100644 --- a/.github/workflows/ci-mysql84-g1.yml +++ b/.github/workflows/ci-mysql84-g1.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g1/coverage-report/ci-mysql84-g1.info + flags: integration-tests + name: tap-mysql84-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g1/coverage-report/ci-mysql84-g1.info + flags: integration-tests + name: tap-mysql84-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g2.yml b/.github/workflows/ci-mysql84-g2.yml index 2cea73860a..aed229eff8 100644 --- a/.github/workflows/ci-mysql84-g2.yml +++ b/.github/workflows/ci-mysql84-g2.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g2/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g2/coverage-report/ci-mysql84-g2.info + flags: integration-tests + name: tap-mysql84-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g2/coverage-report/ci-mysql84-g2.info + flags: integration-tests + name: tap-mysql84-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g3.yml b/.github/workflows/ci-mysql84-g3.yml index 09097b9929..643ce8de02 100644 --- a/.github/workflows/ci-mysql84-g3.yml +++ b/.github/workflows/ci-mysql84-g3.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g3/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g3/coverage-report/ci-mysql84-g3.info + flags: integration-tests + name: tap-mysql84-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g3/coverage-report/ci-mysql84-g3.info + flags: integration-tests + name: tap-mysql84-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g4.yml b/.github/workflows/ci-mysql84-g4.yml index 8ed9000518..958241f6f5 100644 --- a/.github/workflows/ci-mysql84-g4.yml +++ b/.github/workflows/ci-mysql84-g4.yml @@ -301,6 +301,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g4/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -314,12 +317,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -345,9 +347,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g4/coverage-report/ci-mysql84-g4.info + flags: integration-tests + name: tap-mysql84-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g4/coverage-report/ci-mysql84-g4.info + flags: integration-tests + name: tap-mysql84-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g5.yml b/.github/workflows/ci-mysql84-g5.yml index 8427d95a2b..8e3a3de985 100644 --- a/.github/workflows/ci-mysql84-g5.yml +++ b/.github/workflows/ci-mysql84-g5.yml @@ -231,6 +231,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g5/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -244,12 +247,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -275,9 +277,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g5/coverage-report/ci-mysql84-g5.info + flags: integration-tests + name: tap-mysql84-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g5/coverage-report/ci-mysql84-g5.info + flags: integration-tests + name: tap-mysql84-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g6.yml b/.github/workflows/ci-mysql84-g6.yml index 647e42b11c..2adf6fea25 100644 --- a/.github/workflows/ci-mysql84-g6.yml +++ b/.github/workflows/ci-mysql84-g6.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g6/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g6/coverage-report/ci-mysql84-g6.info + flags: integration-tests + name: tap-mysql84-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g6/coverage-report/ci-mysql84-g6.info + flags: integration-tests + name: tap-mysql84-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g7.yml b/.github/workflows/ci-mysql84-g7.yml index eab8fc2265..3748cebff5 100644 --- a/.github/workflows/ci-mysql84-g7.yml +++ b/.github/workflows/ci-mysql84-g7.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g7/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g7/coverage-report/ci-mysql84-g7.info + flags: integration-tests + name: tap-mysql84-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g7/coverage-report/ci-mysql84-g7.info + flags: integration-tests + name: tap-mysql84-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g8.yml b/.github/workflows/ci-mysql84-g8.yml index 085471fede..41a5c941a4 100644 --- a/.github/workflows/ci-mysql84-g8.yml +++ b/.github/workflows/ci-mysql84-g8.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g8/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g8/coverage-report/ci-mysql84-g8.info + flags: integration-tests + name: tap-mysql84-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g8/coverage-report/ci-mysql84-g8.info + flags: integration-tests + name: tap-mysql84-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-g9.yml b/.github/workflows/ci-mysql84-g9.yml index 2a9374228b..a696877473 100644 --- a/.github/workflows/ci-mysql84-g9.yml +++ b/.github/workflows/ci-mysql84-g9.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-g9/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g9/coverage-report/ci-mysql84-g9.info + flags: integration-tests + name: tap-mysql84-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-g9/coverage-report/ci-mysql84-g9.info + flags: integration-tests + name: tap-mysql84-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g1.yml b/.github/workflows/ci-mysql84-gr-g1.yml index 0b056772b8..18ffed70fe 100644 --- a/.github/workflows/ci-mysql84-gr-g1.yml +++ b/.github/workflows/ci-mysql84-gr-g1.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g1/coverage-report/ci-mysql84-gr-g1.info + flags: integration-tests + name: tap-mysql84-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g1/coverage-report/ci-mysql84-gr-g1.info + flags: integration-tests + name: tap-mysql84-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g2.yml b/.github/workflows/ci-mysql84-gr-g2.yml index e42c373176..2e7f692494 100644 --- a/.github/workflows/ci-mysql84-gr-g2.yml +++ b/.github/workflows/ci-mysql84-gr-g2.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g2/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g2/coverage-report/ci-mysql84-gr-g2.info + flags: integration-tests + name: tap-mysql84-gr-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g2/coverage-report/ci-mysql84-gr-g2.info + flags: integration-tests + name: tap-mysql84-gr-g2-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g3.yml b/.github/workflows/ci-mysql84-gr-g3.yml index e840499816..f20e2282b4 100644 --- a/.github/workflows/ci-mysql84-gr-g3.yml +++ b/.github/workflows/ci-mysql84-gr-g3.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g3/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g3/coverage-report/ci-mysql84-gr-g3.info + flags: integration-tests + name: tap-mysql84-gr-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g3/coverage-report/ci-mysql84-gr-g3.info + flags: integration-tests + name: tap-mysql84-gr-g3-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g4.yml b/.github/workflows/ci-mysql84-gr-g4.yml index 511d45ddce..19c9d20fd7 100644 --- a/.github/workflows/ci-mysql84-gr-g4.yml +++ b/.github/workflows/ci-mysql84-gr-g4.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g4/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g4/coverage-report/ci-mysql84-gr-g4.info + flags: integration-tests + name: tap-mysql84-gr-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g4/coverage-report/ci-mysql84-gr-g4.info + flags: integration-tests + name: tap-mysql84-gr-g4-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g5.yml b/.github/workflows/ci-mysql84-gr-g5.yml index 7ae08ee556..22b5616396 100644 --- a/.github/workflows/ci-mysql84-gr-g5.yml +++ b/.github/workflows/ci-mysql84-gr-g5.yml @@ -224,6 +224,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g5/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -237,12 +240,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -268,9 +270,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g5/coverage-report/ci-mysql84-gr-g5.info + flags: integration-tests + name: tap-mysql84-gr-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g5/coverage-report/ci-mysql84-gr-g5.info + flags: integration-tests + name: tap-mysql84-gr-g5-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g6.yml b/.github/workflows/ci-mysql84-gr-g6.yml index 12f5674451..7c09a769d7 100644 --- a/.github/workflows/ci-mysql84-gr-g6.yml +++ b/.github/workflows/ci-mysql84-gr-g6.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g6/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g6/coverage-report/ci-mysql84-gr-g6.info + flags: integration-tests + name: tap-mysql84-gr-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g6/coverage-report/ci-mysql84-gr-g6.info + flags: integration-tests + name: tap-mysql84-gr-g6-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g7.yml b/.github/workflows/ci-mysql84-gr-g7.yml index c1d71187d5..ec5b8ae536 100644 --- a/.github/workflows/ci-mysql84-gr-g7.yml +++ b/.github/workflows/ci-mysql84-gr-g7.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g7/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g7/coverage-report/ci-mysql84-gr-g7.info + flags: integration-tests + name: tap-mysql84-gr-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g7/coverage-report/ci-mysql84-gr-g7.info + flags: integration-tests + name: tap-mysql84-gr-g7-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g8.yml b/.github/workflows/ci-mysql84-gr-g8.yml index f0d1a118b9..b24941cf54 100644 --- a/.github/workflows/ci-mysql84-gr-g8.yml +++ b/.github/workflows/ci-mysql84-gr-g8.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g8/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g8/coverage-report/ci-mysql84-gr-g8.info + flags: integration-tests + name: tap-mysql84-gr-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g8/coverage-report/ci-mysql84-gr-g8.info + flags: integration-tests + name: tap-mysql84-gr-g8-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql84-gr-g9.yml b/.github/workflows/ci-mysql84-gr-g9.yml index 8a53582c36..a8cc96d35a 100644 --- a/.github/workflows/ci-mysql84-gr-g9.yml +++ b/.github/workflows/ci-mysql84-gr-g9.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql84-gr-g9/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g9/coverage-report/ci-mysql84-gr-g9.info + flags: integration-tests + name: tap-mysql84-gr-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql84-gr-g9/coverage-report/ci-mysql84-gr-g9.info + flags: integration-tests + name: tap-mysql84-gr-g9-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql90-gr-g1.yml b/.github/workflows/ci-mysql90-gr-g1.yml index 34300e357f..258014b39f 100644 --- a/.github/workflows/ci-mysql90-gr-g1.yml +++ b/.github/workflows/ci-mysql90-gr-g1.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql90-gr-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql90-gr-g1/coverage-report/ci-mysql90-gr-g1.info + flags: integration-tests + name: tap-mysql90-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql90-gr-g1/coverage-report/ci-mysql90-gr-g1.info + flags: integration-tests + name: tap-mysql90-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql93-gr-g1.yml b/.github/workflows/ci-mysql93-gr-g1.yml index bff0408ae0..f96b351a6b 100644 --- a/.github/workflows/ci-mysql93-gr-g1.yml +++ b/.github/workflows/ci-mysql93-gr-g1.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql93-gr-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql93-gr-g1/coverage-report/ci-mysql93-gr-g1.info + flags: integration-tests + name: tap-mysql93-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql93-gr-g1/coverage-report/ci-mysql93-gr-g1.info + flags: integration-tests + name: tap-mysql93-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-mysql95-gr-g1.yml b/.github/workflows/ci-mysql95-gr-g1.yml index 0ede39af1c..7f894b9e2c 100644 --- a/.github/workflows/ci-mysql95-gr-g1.yml +++ b/.github/workflows/ci-mysql95-gr-g1.yml @@ -226,6 +226,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-mysql95-gr-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -239,12 +242,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -270,9 +272,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql95-gr-g1/coverage-report/ci-mysql95-gr-g1.info + flags: integration-tests + name: tap-mysql95-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-mysql95-gr-g1/coverage-report/ci-mysql95-gr-g1.info + flags: integration-tests + name: tap-mysql95-gr-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-no-infra-g1.yml b/.github/workflows/ci-no-infra-g1.yml index a33c0196bb..0e60120b41 100644 --- a/.github/workflows/ci-no-infra-g1.yml +++ b/.github/workflows/ci-no-infra-g1.yml @@ -300,6 +300,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-no-infra-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -313,12 +316,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -344,9 +346,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-no-infra-g1/coverage-report/ci-no-infra-g1.info + flags: integration-tests + name: tap-no-infra-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-no-infra-g1/coverage-report/ci-no-infra-g1.info + flags: integration-tests + name: tap-no-infra-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-pgsql-socket-g1.yml b/.github/workflows/ci-pgsql-socket-g1.yml index 6a31b75d53..9ab70a3f24 100644 --- a/.github/workflows/ci-pgsql-socket-g1.yml +++ b/.github/workflows/ci-pgsql-socket-g1.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-pgsql-socket-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-pgsql-socket-g1/coverage-report/ci-pgsql-socket-g1.info + flags: integration-tests + name: tap-pgsql-socket-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-pgsql-socket-g1/coverage-report/ci-pgsql-socket-g1.info + flags: integration-tests + name: tap-pgsql-socket-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-set_parser_algorithm_3-g1.yml b/.github/workflows/ci-set_parser_algorithm_3-g1.yml index 283546de5b..9d429df798 100644 --- a/.github/workflows/ci-set_parser_algorithm_3-g1.yml +++ b/.github/workflows/ci-set_parser_algorithm_3-g1.yml @@ -233,6 +233,9 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 + if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} + continue-on-error: true # Send the LCOV .info file fastcov produces in run-tests-isolated.bash # (under proxysql/ci_infra_logs/ci-set_parser_algorithm_3-g1/coverage-report/) to # Codecov. The proxysql binary was built WITHGCOV=1 (-tap-genai-gcov @@ -246,12 +249,11 @@ jobs: # repo has no CODECOV_TOKEN secret and Codecov rejects tokenless # legacy uploads with "branch is protected" HTTP 400. # - # `fail_ci_if_error: false` so a Codecov outage never fails the + # `fail_ci_if_error: true` so a Codecov outage never fails the # whole TAP group; `!cancelled()` so coverage uploads even when # the test step itself reported a failure (partial coverage is # still useful diagnostically). - if: ${{ !cancelled() && hashFiles('proxysql/ci_infra_logs/**/coverage-report/*.info') != '' }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -277,9 +279,58 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-set_parser_algorithm_3-g1/coverage-report/ci-set_parser_algorithm_3-g1.info + flags: integration-tests + name: tap-set_parser_algorithm_3-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-set_parser_algorithm_3-g1/coverage-report/ci-set_parser_algorithm_3-g1.info + flags: integration-tests + name: tap-set_parser_algorithm_3-g1-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }} diff --git a/.github/workflows/ci-taptests-pgsql-cluster.yml b/.github/workflows/ci-taptests-pgsql-cluster.yml index 08f5477f51..c06264adab 100644 --- a/.github/workflows/ci-taptests-pgsql-cluster.yml +++ b/.github/workflows/ci-taptests-pgsql-cluster.yml @@ -263,8 +263,56 @@ jobs: echo "No coverage report was produced; skipping Codecov upload." - name: Upload coverage to Codecov + id: codecov_1 if: ${{ !cancelled() && steps.cov.outputs.found == '1' }} - uses: codecov/codecov-action@v4 + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-taptests-pgsql-cluster/coverage-report/ci-taptests-pgsql-cluster.info + flags: integration-tests + name: tap-pgsql-cluster-sync-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 1 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + run: sleep 15 + + - name: Upload coverage to Codecov (retry 1) + id: codecov_2 + if: ${{ !cancelled() && steps.codecov_1.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 + with: + codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml + override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} + files: proxysql/ci_infra_logs/ci-taptests-pgsql-cluster/coverage-report/ci-taptests-pgsql-cluster.info + flags: integration-tests + name: tap-pgsql-cluster-sync-coverage + use_oidc: true + disable_search: true + plugins: noop + root_dir: proxysql + disable_file_fixes: true + fail_ci_if_error: true + verbose: true + + - name: Wait before Codecov retry 2 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + run: sleep 45 + + - name: Upload coverage to Codecov (retry 2) + id: codecov_3 + if: ${{ !cancelled() && steps.codecov_2.outcome == 'failure' }} + continue-on-error: true + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 with: codecov_yml_path: ${{ github.workspace }}/proxysql/codecov.yml override_commit: ${{ inputs.trigger && fromJson(inputs.trigger).event.workflow_run.head_sha || github.sha }} @@ -276,9 +324,12 @@ jobs: plugins: noop root_dir: proxysql disable_file_fixes: true - fail_ci_if_error: false + fail_ci_if_error: true verbose: true + - name: Report Codecov upload failure + if: ${{ !cancelled() && steps.codecov_3.outcome == 'failure' }} + run: echo "::warning::Codecov upload failed after 3 attempts; tests were unaffected." - uses: LouisBrunner/checks-action@v2.0.0 continue-on-error: true if: ${{ always() && steps.checks.outputs.check_id != '' }}