This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 31931df35740 chore(ci): warn when /component-test has disabled
integration tests
31931df35740 is described below
commit 31931df357408ad0d210068c8fbc8e4393502e79
Author: Guillaume Nodet <[email protected]>
AuthorDate: Tue Mar 10 14:30:20 2026 +0100
chore(ci): warn when /component-test has disabled integration tests
After tests run, scan the tested modules for tests annotated with
@DisabledIfSystemProperty(named = "ci.env.name"). If found, append
a warning to the result comment indicating that manual verification
is required since those tests cannot run on GitHub Actions.
---
.github/actions/component-test/action.yaml | 37 ++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/.github/actions/component-test/action.yaml
b/.github/actions/component-test/action.yaml
index d522b7c6d17a..72eace547d68 100644
--- a/.github/actions/component-test/action.yaml
+++ b/.github/actions/component-test/action.yaml
@@ -68,6 +68,41 @@ runs:
with:
name: tests-${{ inputs.artifact-upload-suffix }}.log
path: tests.log
+ - name: Check for disabled tests
+ id: disabled-tests
+ if: always()
+ shell: bash
+ env:
+ COMMENT_BODY: ${{ inputs.comment-body }}
+ run: |
+ # Resolve component paths from the comment (same logic as
component-test.sh)
+ componentList="${COMMENT_BODY:16}"
+ skipped_modules=""
+ for component in ${componentList}; do
+ if [[ ${component} = camel-* ]]; then
+ componentPath="components/${component}"
+ else
+ componentPath="components/camel-${component}"
+ fi
+ if [[ -d "${componentPath}" ]]; then
+ # Search for @DisabledIfSystemProperty(named = "ci.env.name") in
test sources
+ matches=$(grep -rl 'DisabledIfSystemProperty' "${componentPath}"
--include="*.java" 2>/dev/null \
+ | xargs grep -l 'ci.env.name' 2>/dev/null || true)
+ if [[ -n "$matches" ]]; then
+ count=$(echo "$matches" | wc -l | tr -d ' ')
+ skipped_modules="${skipped_modules}\n- \`${componentPath}\`:
${count} test(s) disabled on GitHub Actions"
+ fi
+ fi
+ done
+ if [[ -n "$skipped_modules" ]]; then
+ {
+ echo 'warning<<SKIPPED_EOF'
+ echo ""
+ echo ":warning: **Some integration tests are disabled on GitHub
Actions** (\`@DisabledIfSystemProperty(named = \"ci.env.name\")\`) and require
manual verification:"
+ echo -e "$skipped_modules"
+ echo 'SKIPPED_EOF'
+ } >> $GITHUB_OUTPUT
+ fi
- name: Success comment
if: success()
uses:
peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 #
v5.0.0
@@ -75,6 +110,7 @@ runs:
issue-number: ${{ inputs.pr-id }}
body: |
:white_check_mark: `${{ inputs.comment-body }}` tests passed
successfully.
+ ${{ steps.disabled-tests.outputs.warning }}
- name: Failure comment
if: failure()
uses:
peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 #
v5.0.0
@@ -82,3 +118,4 @@ runs:
issue-number: ${{ inputs.pr-id }}
body: |
:x: `${{ inputs.comment-body }}` tests failed. Please [check the
logs](https://github.com/${{ github.repository }}/actions/runs/${{
inputs.run-id }}).
+ ${{ steps.disabled-tests.outputs.warning }}