Skip to content

ci: add gcc/clang matrix with -Werror#353

Merged
abhinavagarwal07 merged 1 commit into
libfuse:masterfrom
abhinavagarwal07:ci-werror-clang
May 21, 2026
Merged

ci: add gcc/clang matrix with -Werror#353
abhinavagarwal07 merged 1 commit into
libfuse:masterfrom
abhinavagarwal07:ci-werror-clang

Conversation

@abhinavagarwal07
Copy link
Copy Markdown
Collaborator

@abhinavagarwal07 abhinavagarwal07 commented May 19, 2026

Expand the build job into a compiler × buildtype matrix with fail-fast: false so all combinations always report results.

Required (4 jobs):

  • gcc / debugoptimized
  • gcc / release
  • clang / debugoptimized
  • clang / release

All pass -Dwerror=true to meson. Each job runs the full pytest suite.

Advisory (2 jobs, continue-on-error):

  • gcc / strict warnings — extra CFLAGS (-Wformat=2 -Wformat-security -Wundef -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wnull-dereference)
  • clang / strict warnings — same flags

Currently gcc / strict warnings fails due to -Wnull-dereference in tokenize_on_space() (sshfs.c:3965). Once that is fixed, continue-on-error should be removed to promote these jobs to required.

Includes SHA-pinned actions, least-privilege permissions, concurrency cancellation, pinned runner and Python, SSH setup with ed25519, FUSE preflight, pytest timeouts/maxfail/JUnit XML, and per-job artifacts.

@abhinavagarwal07 abhinavagarwal07 changed the base branch from master to ci-sanitizers May 19, 2026 20:03
@abhinavagarwal07 abhinavagarwal07 changed the base branch from ci-sanitizers to master May 19, 2026 20:03
@abhinavagarwal07 abhinavagarwal07 force-pushed the ci-werror-clang branch 4 times, most recently from 7041254 to 314af79 Compare May 21, 2026 04:34
@abhinavagarwal07 abhinavagarwal07 marked this pull request as ready for review May 21, 2026 06:07
@abhinavagarwal07 abhinavagarwal07 requested a review from h4sh5 May 21, 2026 06:08
- Expand build job into gcc/clang matrix with fail-fast: false
- Pass -Dwerror=true so compiler warnings fail the build
- Pin all actions to Node 24-capable full SHAs (checkout v6.0.2, setup-python v6.2.0, upload-artifact v7.0.1)
- Add least-privilege permissions, concurrency cancellation
- Pin python-version to 3.12, pin runner to ubuntu-24.04
- Add explicit SSH setup with sshd start, hard-fail FUSE preflight
- Add pytest --timeout=300, --maxfail=99, JUnit XML, test result artifacts per compiler
@abhinavagarwal07 abhinavagarwal07 merged commit afbdf92 into libfuse:master May 21, 2026
10 of 12 checks passed
@abhinavagarwal07 abhinavagarwal07 deleted the ci-werror-clang branch May 21, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants