-
-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
We found in #198 and llvm/llvm-project#93034 that LLVM occasionally introduces breaking changes in clang-format in patch (and presumably minor) version releases. Because this action just uses the latest version of clang-format under a major version, this action's output can be non-deterministic as minor and patch versions are accepted into Ubuntu and those changes are pulled into this repo's container image builds.
To reduce the effects of this thrashing, there are a couple of possible solutions:
- Provide a way to specify minor and patch versions as args to the action. If these versions are added to the container images, this could be tricky as it expands the build matrix by a lot.
- Check if the desired
clang-formatversion is already in the PATH in the runner, and if it is, use that instead of the Docker image. This shifts the responsibility onto users of this action to get the appropriate LLVM tools into their Actions runners, which they're probably already doing for other CI workflows.
Requirements:
- implementation must not drop support for
clang-formatversions that this Action already supports. At this time, the earliest version I support isclang-format-3.9 - implementation should not introduce a new code path for some
clang-formatversions
Approaches tried and rejected (follow links for reasoning):
- pip builds: Install via pip instead of apt #264 (comment)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels