bpftrace development guide¶
Code style¶
We use clang-format with our custom config for formatting code. This was
introduced after a lot of code
was already written. Instead of formatting the whole code base at once and
breaking git blame
we're taking an incremental approach, each new/modified bit
of code needs to be formatted.
The CI checks this too, if the changes don't adhere to our style the job will fail.
Using clang-format¶
git clang-format
can be used to easily format commits, e.g. git clang-format upstream/master
Avoid 'fix formatting' commits¶
We want to avoid fix formatting
commits. Instead every commit should be
formatted correctly.
Changelog¶
The changelog is for end users. It should provide them with a quick summary of all changes important to them. Internal changes like refactoring or test changes do not belong to it.
Maintaining the changelog¶
To avoid having write a changelog when we do a release (which leads to useless changelog or a lot of work) we write them as we go. That means that every PR that has a user impacting change must also include a changelog entry.
As we include the PR number in the changelog format this can only be done after the PR has been opened.
If it is a single commit PR we include the changelog in that commit, when the PR consists of multiple commits it is OK to add a separate commit for the changelog.