Skip to content
Matthieu Baerts edited this page Feb 20, 2026 · 6 revisions

Continuous Integration

Workflow

Patchew is used to create a tag each time new patches are sent to our mailing list. This new tag will trigger multiple builds and results will be displayed on Patchwork.

Base patches

Patches should be based on top of ones of these branches: export, for-review, and eventually export-net, for-review-net, net-next and net. Check the Git Branches page for more details about them. Fixes that are valid for older versions have to be applied on top of one of these branches before being backported.

If patches depend on other ongoing work that has not been applied yet, the cover-letter (or the individual patch) should contain a tag line Based-on: <$MESSAGE_ID> where $MESSAGE_ID is the Message-ID of the previous cover-letter (or the individual patch), so Patchew can resolve the dependence, and trigger the CI.

Jobs

Once per day, a Github Action is scheduled to sync our tree with the Netdev's net-next and net repos.

Each time the tree is updated, a new tag, export/<date>T<time> is created.

New tags trigger multiple jobs: build with different kernel options (e.g. i386/x86_64, with/without v6 and/or MPTCP), run the test suite (selftests, kunit, packetdrill), checkpatch, shellcheck, etc. Check our GitHub Actions workflows for more details.

Results

Results are published on the "Flakes" webpage.

They are also posted on our IRC channel.

Local development

The Docker image used by the public CIs can be used to create a basic kernel dev environment.

Download the kernel source code and then run these two commands to download the latest Docker image and run it:

docker run --pull always -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
  mptcp/mptcp-upstream-virtme-docker:latest \
  <manual-normal | manual-debug | auto-normal | auto-debug | auto-all>

For more details: https://github.com/multipath-tcp/mptcp-upstream-virtme-docker

AI reviews

The same tool from NIPA and also used on Netdev ML is used to help with the reviews. The other goal is to avoid having already reviewed MPTCP patches being blocked due to details reported by it when the patches are sent on Netdev.

Results are also available on Patchwork, like the others. There are and will be false positives, and technical issues, e.g. it doesn't support Based-on yet, etc. So please keep that in mind when looking at them, no need to fix wrong issues or address impossible states!

Note that the details are not directly visible on purpose, not to be tempted to send new revisions more that once per 24h.

Instructions to "reproduce" (or getting something as close as possible) are available there: https://netdev-ai.bots.linux.dev/ai-local.html

Clone this wiki locally