Gcc 16 switch n fix pathname - #505
Open
vineetgarc wants to merge 4 commits into
Open
Conversation
The traffic monitor names its logs after the test and subtest, so they can contain characters that actions/upload-artifact rejects. A subtest called "INET4: bpf_timestamping" makes the upload fail as below (see [1]) Error: The path for one of the files in artifact is not valid: /packets-125-15-net_timestamping__INET4:_bpf_timestamping-net_timestamping_ns.log. Contains the following character: Colon : run-vmtest already renames these, but only after the VM exits, so a step timeout or a dead VM kills it before that point. The upload step runs with if: always() and then trips over the names that were left behind. Rename them in a step of its own, also guarded by if: always(), so it happens whatever the outcome of the test step. It is a no-op when the directory is absent, which is the case for every test that does not enable the traffic monitor, and re-running it is harmless. Link: https://github.com/kernel-patches/vmtest/actions/runs/30710914503/job/9139901138 [1] Signed-off-by: Vineet Gupta <vineet.gupta@linux.dev>
Pick the GCC BPF compiler by major version rather than taking whatever release
happens to be newest:
- download-gh-release.sh: accept an optional tag prefix and return the most
recent release matching it, so "gcc-16-" tracks the latest GCC 16 build. An
empty prefix keeps the previous latest-release behaviour, and a full tag
still works since a tag is a prefix of itself.
- gcc-bpf.yml: pass "gcc-${GCC_BPF_VERSION}-", defaulting to 15.
Plain "latest release" became ambiguous once more than one GCC series was
published to the same repo: the weekly job builds GCC 15, so a GCC 16 release
is only ever the newest one for as long as it takes the next GCC 15 snapshot to
land. Selecting by prefix makes the choice explicit and reproducible.
The prefix is matched literally rather than as a regular expression. Tags
contain dots, so passing a full tag through grep would let those dots match any
character and could pick a different release than the one asked for.
Defaulting to 15 keeps the current toolchain, so this changes nothing on its
own. Switching series is a one line change, or the repo variable
GCC_BPF_VERSION for an ad-hoc run.
Signed-off-by: Vineet Gupta <vineet.gupta@linux.dev>
Closed
vineetgarc
force-pushed
the
gcc-16-switch-n-fix-pathname
branch
3 times, most recently
from
August 7, 2026 19:45
73bf319 to
059782a
Compare
Change the default GCC_BPF_VERSION from 15 to 16, so test_progs-bpf_gcc is built with the latest GCC 16 release, and regenerate the denylist to match what GCC 16 actually fails. The denylist shrinks from 904 to 193 entries (61 whole tests, 132 subtests). A test is denied outright only when nothing in it passes, otherwise just the failing subtests are listed so the rest keep running. Signed-off-by: Vineet Gupta <vineet.gupta@linux.dev>
The GCC BPF workflow compiles test_progs-bpf_gcc and then throws it away, so it only ever checked that the selftests still build with GCC. Nothing runs them: the runner was disabled in f7504ae ("Disable test_progs-bpf_gcc") because too many tests were failing with GCC 15, and it has stayed off since. Split the workflow into a build job and a test job, in the same shape as test-progs-asan.yml. The build job keeps doing what it did and now packages test_progs-bpf_gcc as an artifact; the test job unpacks it over the selftests directory from the main build and runs it under vmtest. Keeping this in its own workflow rather than folding the GCC BPF build into kernel-build.yml is deliberate. Every test and veristat job depends on the root build job, so a break in the GCC BPF compiler download, in the scripts, or in the GCC selftests build would take out the whole matrix leg and the artifact it produces. Here it can only fail the GCC BPF jobs. The test job needs /dev/kvm, so kernel-build-test.yml now passes the test runners; the build job continues to pick its own builder image. Signed-off-by: Vineet Gupta <vineet.gupta@linux.dev>
vineetgarc
force-pushed
the
gcc-16-switch-n-fix-pathname
branch
2 times, most recently
from
August 7, 2026 22:32
8c192e9 to
0fd09ad
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.