Exclude *_Online tests from default CI runs

These tests reach out to external services (httpbin, YouTube, ...) and
flake on CI runners whenever those services are slow or unreachable.
The previous shard runner script silently masked these failures; now
that runs report them faithfully, default the filter to -*_Online.

Override via workflow_dispatch + the gtest_filter input to include
them when explicitly desired.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
yhirose
2026-04-29 09:41:39 +09:00
parent 2ea632264d
commit 109e331068

View File

@@ -25,7 +25,9 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
env: env:
GTEST_FILTER: ${{ github.event.inputs.gtest_filter || '*' }} # Exclude *_Online tests by default — they hit external services and flake on
# CI runners. Run with workflow_dispatch + a custom filter to include them.
GTEST_FILTER: ${{ github.event.inputs.gtest_filter || '-*_Online' }}
jobs: jobs:
style-check: style-check:
@@ -323,7 +325,7 @@ jobs:
for ($i = 0; $i -lt $shards; $i++) { for ($i = 0; $i -lt $shards; $i++) {
$log = "shard_${i}.log" $log = "shard_${i}.log"
$procs += Start-Process -FilePath ./Release/httplib-test.exe ` $procs += Start-Process -FilePath ./Release/httplib-test.exe `
-ArgumentList "--gtest_color=yes","--gtest_filter=${{ github.event.inputs.gtest_filter || '*' }}" ` -ArgumentList "--gtest_color=yes","--gtest_filter=${{ github.event.inputs.gtest_filter || '-*_Online' }}" `
-NoNewWindow -PassThru -RedirectStandardOutput $log -RedirectStandardError "${log}.err" ` -NoNewWindow -PassThru -RedirectStandardOutput $log -RedirectStandardError "${log}.err" `
-Environment @{ GTEST_TOTAL_SHARDS="$shards"; GTEST_SHARD_INDEX="$i" } -Environment @{ GTEST_TOTAL_SHARDS="$shards"; GTEST_SHARD_INDEX="$i" }
} }