Skip to content

CI: example-runner grep exclude starting with dashes silently skips all Python and Go non-TLS examples #3769

Description

@ethanlin01x

Bug description

The examples CI job reports success for Python and Go without executing a single non-TLS example.

Root cause — scripts/utils.sh:318:

commands=$(echo "${commands}" | grep -v "${grep_exclude}" || true)

Python and Go pass --tls as the exclude (scripts/run-examples-from-readme.sh:259, :231). grep parses --tls as an unknown long option and exits 2 with no output; || true swallows the error, the command list ends up empty, and the function returns without running anything. The other languages are fine because their excludes (tcp-tls, TcpTls) don't start with dashes.

This is a regression from #2920 (658eb89, 2026-03-16): the removed per-language scripts had no exclude and executed everything. The TLS passes still run (they select by pattern, no exclude).

Fix:

commands=$(echo "${commands}" | grep -v -e "${grep_exclude}" || true)

All six skipped commands were verified to pass when executed manually against a local server, so the fix should not surface new failures.

Affected area / component

CI / build / tooling

Deployment

Not applicable

Versions

master (c5fec1f); broken since 658eb89 (#2920)

Hardware / environment

No response

Sample code

$ printf 'uv run a\nuv run b --tls\n' | grep -v "--tls"; echo "exit=$?"
grep: unrecognized option `--tls'
exit=2

Or run ./scripts/run-examples-from-readme.sh --language python --skip-tls: it succeeds without printing a single Checking command from README.md: line.

Logs

No response

Iggy server config

No response

Reproduction

$ printf 'uv run a\nuv run b --tls\n' | grep -v "--tls"; echo "exit=$?"
grep: unrecognized option `--tls'
exit=2

Or run ./scripts/run-examples-from-readme.sh --language python --skip-tls: it succeeds without printing a single Checking command from README.md: line.

Contribution

  • I'm willing to submit a pull request to fix this bug

Good first issue

  • I think this could be a good first issue for a new contributor

Metadata

Metadata

Assignees

Labels

CI/CDContinuous integration and deploymentbugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions