Skip to content

build: add sanitizer configs and Linux sanitizer workflow - #578

Draft
arkjedrz wants to merge 5 commits into
arkjedrz_tooling-06-coveragefrom
arkjedrz_tooling-07-sanitizers
Draft

arkjedrz wants to merge 5 commits into
arkjedrz_tooling-06-coveragefrom
arkjedrz_tooling-07-sanitizers

Conversation

@arkjedrz

Copy link
Copy Markdown
Contributor
  • Add score.bazelrc/score_sanitizers.bazelrc from baselibs (asan, ubsan, lsan, tsan, asan_ubsan_lsan, tsan_ubsan) and import it from .bazelrc in baselibs' order. The features come from the @score_cpp_policies toolchain injection in MODULE.bazel.
  • Add sanitizers_linux.yml, modeled on baselibs. It runs bazel test --config=score-linux-x86_64 --config=asan_ubsan_lsan on //score/... with the cicd common steps and SHA pins, and uploads the test logs. It can be called with workflow_call.

@arkjedrz arkjedrz self-assigned this Oct 23, 2026
@arkjedrz
arkjedrz added this pull request to stack #526 October 23, 2026 12:58
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Starting local Bazel server (8.7.0) and connecting to it...
INFO: Invocation ID: 7948a28a-4791-4254-a193-e8f049cebe0a
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 2 packages loaded
Loading: 2 packages loaded
    currently loading: 
Loading: 2 packages loaded
    currently loading: 
Loading: 2 packages loaded
    currently loading: 
Loading: 2 packages loaded
    currently loading: 
Loading: 2 packages loaded
    currently loading: 
Analyzing: target //:license-check (3 packages loaded, 0 targets configured)
Analyzing: target //:license-check (3 packages loaded, 0 targets configured)

Analyzing: target //:license-check (22 packages loaded, 14 targets configured)

Analyzing: target //:license-check (96 packages loaded, 14 targets configured)

Analyzing: target //:license-check (100 packages loaded, 14 targets configured)

Analyzing: target //:license-check (100 packages loaded, 14 targets configured)

Analyzing: target //:license-check (150 packages loaded, 1424 targets configured)

Analyzing: target //:license-check (152 packages loaded, 3715 targets configured)

Analyzing: target //:license-check (152 packages loaded, 3715 targets configured)

Analyzing: target //:license-check (152 packages loaded, 3715 targets configured)

Analyzing: target //:license-check (152 packages loaded, 3715 targets configured)

Analyzing: target //:license-check (198 packages loaded, 4937 targets configured)

Analyzing: target //:license-check (199 packages loaded, 7667 targets configured)

Analyzing: target //:license-check (207 packages loaded, 11661 targets configured)

Analyzing: target //:license-check (207 packages loaded, 11661 targets configured)

Analyzing: target //:license-check (208 packages loaded, 11785 targets configured)

INFO: Analyzed target //:license-check (213 packages loaded, 17903 targets configured).
[3 / 14] [Prepa] Writing repo mapping manifest for @@score_tooling+//dash/tool/formatters:dash_format_converter [for tool]
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 50 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/tools/formatted.txt
[13 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
INFO: Found 1 target...
Target //tools:license.check.license_check up-to-date:
  bazel-bin/tools/license.check.license_check
  bazel-bin/tools/license.check.license_check.jar
INFO: Elapsed time: 100.445s, Critical Path: 2.73s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/tools/license.check.license_check tools/formatted.txt <args omitted>
[main] INFO Querying Eclipse Foundation for license data for 42 items.
[main] INFO Found 32 items.
[main] INFO Querying ClearlyDefined for license data for 10 items.
[main] INFO Found 10 items.
[main] INFO License information could not be automatically verified for the following content:
[main] INFO 
[main] INFO crate/cratesio/-/lazy_static/1.5.1
[main] INFO 
[main] INFO This content is either not correctly mapped by the system, or requires review.

@github-actions

Copy link
Copy Markdown
Contributor

Documentation preview for this pull request is available at:
pr-578: https://eclipse-score.github.io/persistency/pr-578/

arkjedrz and others added 5 commits October 26, 2026 15:46
- Move the Ruff config from pyproject.toml to ruff.toml.
- Add the baselibs lint wiring: .clang-tidy, tools/lint/linters.bzl
  and score.bazelrc/score_lint.bazelrc, imported from .bazelrc.
  build:lint adds --config=score-linux-x86_64 first, because cicd
  static-analysis.yml passes only --config=lint.
- Run Clippy through the rules_rust clippy aspect with the
  score_rust_policies strict clippy.toml. aspect_rules_lint stays at
  2.7.2, which no longer has the lint/clippy.bzl that the
  score_rust_policies 0.0.5 aspect loads.
- Promote the 85 carved-out clang-tidy checks without findings to
  errors.
- Rename clippy.yml to lint.yml. It lints //... with
  bazel-config lint and can be called with workflow_call.
- Replace the README Clippy section with a Lint section.
- Clarify the HeaderFilterRegex comment in .clang-tidy.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Pin aspect_rules_lint 2.5.2. 2.6.0 removed lint/clippy.bzl, which
  @score_rust_policies//clippy:linters.bzl still loads.
- Use baselibs' build:clippy lines (clippy_strict aspect,
  rules_lint_human, fail_on_violation) instead of rules_rust's
  rust_clippy_aspect.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Use ruff_lint_aspect from @score_tooling//third_party/lint instead
  of a local lint_ruff_aspect.
- Keep the Ruff rules in pyproject.toml, as on main. Drop ruff.toml.
  ruff format and the Ruff aspect read the same file.
- Export only .clang-tidy from the root BUILD for //tools/lint.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Move quality/coverage to tools/coverage, as in baselibs. Rewrite
  the //quality/coverage labels, the .bazelrc import, the comments
  in MODULE.bazel and BUILD, and the justifications path in
  coverage.yml and release.yml.
- Align the llvm_cov config with baselibs. Set the platform and the
  LLVM and Ferrocene toolchains explicitly. Keep the warning
  feature disables and --instrumentation_filter=^//score[/:].
- Add baselibs' check_coverage_scope.sh and scope_exclusions.txt.
  The check fails when a production library under //score/... is
  neither in //tools/coverage:coverage_scope nor excluded.
- Replace coverage.yml with coverage_report.yml. Use baselibs'
  triggers (push, merge_group, workflow_call) and steps, including
  the scope check, on the cicd common steps with SHA pins. Keep
  workflow_dispatch and the <repo>_coverage_report artifact name.
- Drop the cargo-coverage job from check.yml. coverage_report.yml
  covers rust_kvs. cpp-bazel stays until check.yml is replaced.
- Document the scope check and coverage_report.yml in
  tools/coverage/README.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Add score.bazelrc/score_sanitizers.bazelrc from baselibs (asan,
  ubsan, lsan, tsan, asan_ubsan_lsan, tsan_ubsan) and import it
  from .bazelrc in baselibs' order. The features come from the
  @score_cpp_policies toolchain injection in MODULE.bazel.
- Add sanitizers_linux.yml, modeled on baselibs. It runs bazel test
  --config=score-linux-x86_64 --config=asan_ubsan_lsan on //score/...
  with the cicd common steps and SHA pins, and uploads the test logs.
  It can be called with workflow_call.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@arkjedrz
arkjedrz force-pushed the arkjedrz_tooling-07-sanitizers branch from dfc203a to ff1742b Compare October 26, 2026 14:58

This branch has not been deployed

No deployments
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.

1 participant