envoyproxy / envoyproxy/envoy

CodeQL/push workflow fails when rdeps resolves to header-only targets

Open
#46,393 2 comments 0 reactions 0 assignees View on GitHub
area/test flakes
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

The CodeQL workflow fails with "CodeQL could not process any code written in C/C++" when a PR modifies a file under `envoy/` or `source/common/` and the `bazel query rdeps(//source/common/..., , 1)` resolves exclusively to header-only targets.

I noticed this in my [PR](https://github.com/envoyproxy/envoy/pull/45039) which adds an include in `load_shed_point.h`.
Due to the diff between the PR and `main` showing `load_shed_point.h` as changed, the workflow detects C++ changes in `envoy/`, queries rdeps, and resolves to the header-only `load_shed_point_interface` target -> triggering the failure.

Is this the expected behavior or can the CodeQL workflow be improved?

Contributor guide

Open the contributing guide

Research direction

Start with the CodeQL/push workflow and reproduce the `bazel query rdeps(//source/common/..., , 1)` case for `load_shed_point.h`. Check how the workflow handles the header-only `load_shed_point_interface` result; done means PRs that change only header-only targets no longer fail with the “could not process any code” message.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.