chore: update CI workflow#225
Conversation
posthog-dotnet Compliance ReportDate: 2026-06-11 15:19:11 UTC
|
| Test | Status | Duration |
|---|---|---|
| Request Payload.Request With Person Properties Device Id | ❌ | 43ms |
| Request Payload.Flags Request Uses V2 Query Param | ❌ | 22ms |
| Request Payload.Flags Request Hits Flags Path Not Decide | ❌ | 5ms |
| Request Payload.Flags Request Omits Authorization Header | ❌ | 5ms |
| Request Payload.Token In Flags Body Matches Init | ❌ | 5ms |
| Request Payload.Groups Round Trip | ❌ | 5ms |
| Request Payload.Groups Default To Empty Object | ❌ | 4ms |
| Request Payload.Person Properties Distinct Id Auto Populated When Caller Omits It | ❌ | 5ms |
| Request Payload.Disable Geoip False Propagates As Geoip Disable False | ❌ | 5ms |
| Request Payload.Disable Geoip Omitted Defaults To False | ❌ | 5ms |
| Request Payload.Flag Keys To Evaluate Contains Only Requested Key | ❌ | 5ms |
| Request Lifecycle.No Flags Request On Init Alone | ✅ | 4ms |
| Request Lifecycle.No Flags Request On Normal Capture | ✅ | 180ms |
| Request Lifecycle.Two Flag Calls Produce Two Remote Requests | ❌ | 7ms |
| Request Lifecycle.Mock Response Value Is Returned To Caller | ❌ | 5ms |
| Side Effect Events.Get Feature Flag Captures Feature Flag Called Event | ❌ | 4ms |
Failures
request_payload.request_with_person_properties_device_id
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.flags_request_uses_v2_query_param
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.flags_request_hits_flags_path_not_decide
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.flags_request_omits_authorization_header
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.token_in_flags_body_matches_init
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.groups_round_trip
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.groups_default_to_empty_object
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.person_properties_distinct_id_auto_populated_when_caller_omits_it
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.disable_geoip_false_propagates_as_geoip_disable_false
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.disable_geoip_omitted_defaults_to_false
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_payload.flag_keys_to_evaluate_contains_only_requested_key
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_lifecycle.two_flag_calls_produce_two_remote_requests
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
request_lifecycle.mock_response_value_is_returned_to_caller
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
side_effect_events.get_feature_flag_captures_feature_flag_called_event
404, message='Not Found', url='http://sdk-adapter:8080/get_feature_flag'
Prompt To Fix All With AIFix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
.github/workflows/main.yaml:14-16
**`cancel-in-progress` applies to pushes on `main` too**
The concurrency group falls back to `github.ref` for non-PR events, so rapid successive merges to `main` (e.g. merge queue, back-to-back squash merges) will cancel the earlier commit's CI run before it completes. This leaves gaps in status coverage on the main branch — if a broken commit lands first, its run is cancelled and the breakage goes undetected until a later run surfaces it. Restricting cancellation to pull requests with a condition like `cancel-in-progress: ${{ github.event_name == 'pull_request' }}` would preserve this behaviour where it's most useful while letting main-branch runs complete.
### Issue 2 of 2
.github/workflows/main.yaml:52-72
**`test` job does not depend on `build`**
The new `test` job runs independently and will compile the project from scratch (via `dotnet restore` + implicit build inside `dotnet test`). While `--no-restore` skips the restore step, `dotnet test --no-restore` without `--no-build` still rebuilds the solution before running tests. This means the two jobs are fully duplicating restore and build work in parallel rather than the `test` job consuming the artifact produced by `build`. If the goal is speed, adding `needs: [build]` (or caching the build output) would avoid the duplication; if parallelism is intentional and cost isn't a concern, a comment explaining the trade-off would be helpful.
Reviews (1): Last reviewed commit: "chore: update CI workflow" | Re-trigger Greptile |
💡 Motivation and Context
Keep the main CI workflow faster and more predictable by ignoring markdown-only pull request changes, cancelling superseded pull request runs, and separating build/package work from test execution.
💚 How did you test it?
Not run locally (GitHub Actions workflow-only change). Validated with
git diff --check.📝 Checklist
If releasing new changes
pnpm changesetto generate a changeset file