Repository navigation
Update dependency score_tooling to v3 - #215
Closed
eclipse-score-bot wants to merge 1 commit into
Closed
eclipse-score-bot wants to merge 1 commit into
eclipse-score-bot wants to merge 1 commit into
Conversation
eclipse-score-bot
requested review from
PandaeDo,
RolandJentschETAS,
aschemmel-tech,
masc2023 and
pahmann
as code owners
October 26, 2026 11:39
Contributor
Author
|
Contributor
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
Contributor
|
3 checks are failing, thus closed |
Contributor
Author
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
1.2.0→3.0.1Release Notes
eclipse-score/tooling (score_tooling)
v3.0.1Changelog
rules_score: unit documentation layout
units/<unit>/index.rst. Design files are staged inunits/<unit>/design/. Previously:units/<unit>.rstandunits/<unit>_design/.**/units/*_designreplaced byunits/*/design.dependable_elementnow fail the build(previously the second was silently dropped).
Added
sync_skills(repo_skills_target = None): optional label of a filegroup with the repo'scommitted
score-*skills. Required when.github/skillshas its ownBUILDfile..devcontainer/run-tool: standard SCORE tool launcher.Fixed
component(requirements = ...)acceptsassumed_system_requirementstargets, so componentrequirements can derive directly from assumed system requirements without a feature layer.
v3.0.0Highlights
rules_score: the safety analysis is split intofailure_modes,fault_treesandsafety_analysis. Adependable_elementnow derives its own AoUs from the safety analysis measures.validation: free-function consistency check between PlantUML class design and C++ implementation.Breaking changes
rules_score: safety analysis and AoUssafety_analysisis split into three rules to avoid a dependency cycle between the fault trees, the measures and the analysis:failure_modes(srcs, deps): theFailureModerecords.fault_trees(srcs, deps, fta_package): the fault-tree diagrams and the generatedRootCauserecords.safety_analysis(failure_modes, fault_trees, safety_measures, arch_design): the FMEA page.safety_analysisattributes are renamed:failuremodesfailure_modes(labels offailure_modestargets)root_causesfault_trees(label of afault_treestarget, required)safetymeasuressafety_measuresarch_design(optional)arch_design(required)dependable_element.assumptions_of_useis removed. The element's own AoUs are theassumptions_of_usetargets listed in thesafety_measuresof itssafety_analysistargets.assumptions_of_usetarget that nosafety_analysislists is neither rendered nor forwarded.dependable_elementwithout a safety analysis has no own AoUs.ScoreReq.AoU.root_causesis now mandatory..rstaou_reqdirectives need:root_causes: <fta_package>.<RootCause>, ....assumptions_of_use.depsmust list thefault_treestarget. Otherassumptions_of_usetargets are rejected there.:root_causes:on non-AoU directives is rejected.aou_forwarding.yamlentries must carry the AoU version:aou_id: "Package.AOU_ID@1". Unknown IDs, version mismatches and duplicate entries fail the build.The default
fta_packageis now the package and name joined by__plus_fta(e.g.pkg_sub__name_fta). Setfta_packageexplicitly if you reference<fta_package>.<RootCause>from elsewhere.Raw
.trlcfiles insafety_measuresmay only containMitigationrecords. A root cause whose failure mode is missing fromfailure_modesfails the build.List one
safety_analysisperdependability_analysis. Use severaldependability_analysistargets for several analyses.The
.github/skills/*/SKILL.mdfiles changed. Downstream repos must regenerate theirsync_skillsgoldens.PlantUML: identifiers are built from the name, not the alias
The written name of an element is its identity. The alias (
as X) is only a local reference key and no longer takes part in the identifier.Names must be identifier paths: segments of letters, digits and
_, separated by.or::. Free-text names are errors, for every element kind.Sequence participants:
"instance : pkg::Type"label form is removed.Diagrams must be migrated.
validationmatches by this identifier. Component and sequence checks match participant uids, and the Bazel check matches the last segment of the entity id (case-insensitive) against the Bazel target name.See
plantuml/parser/docs/element-identifiers.mdfor the full rules.New features
PlantUML
.or::roots the name:::is accepted wherever a name is written: declarations,package/namespacenames, ports,extends/implementstargets and relationship endpoints.entity Name <<function>> { + f(...) }groups free functions, which resolve in the enclosing namespace. They are serialized to FlatBuffers. Seeplantuml/parser/docs/class-diagram.md. (#511)Sphinx
clickable_plantumlunit_1in a sequence or component diagram find the diagram that definespkg.comp.unit_1.*.idmap.jsongainsmatch_by_name(defaultfalse). It istruefor component, class and sequence diagrams andfalsefor FTA diagrams.url of "...". Aliases that cannot be written (double quote, line break) are reported with a warning.validationClassDesignImplementationFreeFunctionConsistencycheck: a free function in the unit design must exist in the C++ implementation with a matching return type, parameters and template parameters. (#518)bazel_component, sequence and class checks.Bug fixes
validation: a class reachable through several implementation targets (e.g. a shared header) was reported as defined more than once. The duplicate-class error now says "design" or "implementation". (#522)rules_score: units listed directly independable_element.componentswere missing from the generated toctree. (#519)Build and CI
~x.y).Cargo.lockandcargo-bazel-lock.jsonare added, and the crate repository is renamed from@cratesto@crates_score_tooling. (#515)Migration checklist
safety_analysisintofailure_modes,fault_treesandsafety_analysis, and rename its attributes.assumptions_of_usefromdependable_element. List the AoU targets insafety_analysis.safety_measuresinstead.root_causesto everyAoUand list thefault_treestarget in thedepsof eachassumptions_of_usetarget.@<version>to theaou_identries inaou_forwarding.yaml.sync_skillsgoldens.Full changelog: eclipse-score/tooling@v2.3.1...v3.0.0
v2.3.1Release v2.3.x contains breaking changes:
Renames (Bazel)
fmea(...) is now safety_analysis(...).
dependability_analysis(fmea = [...]) is now dependability_analysis(safety_analysis = [...]).
The controlmeasures attribute is replaced by safetymeasures. These files hold Mitigation, AoU and CompReq records.
New optional attribute fta_package sets the package name of the generated RootCause records. It defaults to _fta.
unit(...) and component(...) get an optional design_name. Use it when the PlantUML <>/<> name differs from the Bazel target name.
FTA .puml diagrams
$TopEvent(...) is now $FailureMode(name, "Pkg.FailureMode", ...). It accepts up to 8 failure modes per node.
$BasicEvent(name, "Pkg.Alias", conn) is now $RootCause(name, "Alias", conn). The alias is a plain name without a package prefix.
Root causes are generated as TRLC records in fta_events.trlc (package <fta_package>). They are not written by hand.
Each root cause links to the failure modes of the tree it sits under.
TRLC model (ScoreReq)
Removed: ControlMeasure, PreventiveMeasure and Measure.
Removed: the mitigates field on AoU and Mitigation.
Added: RootCause, the abstract SafetyMeasure, and FailureMode-to-RootCause links.
Mitigation no longer extends AssumedSystemReq. It now requires root_causes = [...] and justification.
AoU can have optional root_causes = [...].
CompReq.derived_from can reference a RootCause, unversioned. This makes the CompReq a control measure for that root cause.
CompReq.derived_from may only reference AoUs received from other dependable elements. An element's own AoUs are never a source.
Wiring (BUILD)
A safety_analysis target that an AoU references via root_causes must be listed in the deps of assumptions_of_use.
The same target must also be passed via safetymeasures to safety_analysis(...).
Migration:
BUILD
fmea becomes safety_analysis.
controlmeasures becomes safetymeasures.
dependability_analysis(fmea=...) becomes dependability_analysis(safety_analysis=...).
FTA .puml
$TopEvent becomes $FailureMode.
$BasicEvent(n, "Pkg.Alias", c) becomes $RootCause(n, "Alias", c). The alias is a plain identifier with no package prefix.
TRLC measures
Add import _fta, the generated package. It defaults to the target name plus _fta.
Delete ControlMeasure and PreventiveMeasure records and all mitigates fields.
Convert each former measure:
Mitigation: add root_causes = [_fta.] and justification.
CompReq: add derived_from = [_fta.], with no @version. Add the safety_analysis target to that component_requirements target's deps.
AoU: add root_causes = [_fta.]. Add the safety_analysis target to the assumptions_of_use deps, and pass the file in safetymeasures.
Coverage
Every $RootCause needs a Mitigation, AoU or CompReq. Otherwise release maturity fails.
Every FailureMode needs a $RootCause under it.
v2.3.0What's Changed
Full Changelog: eclipse-score/tooling@v2.2.3...v2.3.0
v2.2.3What's Changed
Full Changelog: eclipse-score/tooling@v2.2.2...v2.2.3
v2.2.2What's Changed
New Contributors
Full Changelog: eclipse-score/tooling@v2.2.0...v2.2.2
v2.2.1What's Changed
Full Changelog: eclipse-score/tooling@v2.1.1...v2.2.1
v2.2.0What's Changed
Full Changelog: eclipse-score/tooling@v2.1.1...v2.2.0
v2.1.1What's Changed
Full Changelog: eclipse-score/tooling@v2.1.0...v2.1.1
v2.1.0What's Changed
🚨 Breaking: Ferrocene symbol-report/blanket coverage flow removed
rust_coverage_report (from //:defs.bzl / //coverage:coverage.bzl), //coverage:ferrocene_report and its helper scripts have been removed (#394). Repositories defining a //:rust_coverage target with this rule must migrate
▎⚠️ If your repo consumes the rust-coverage.yml reusable workflow from cicd-workflows (lifecycle, baselibs): that workflow drives the removed flow through your //:rust_coverage target. Do not bump to 2.1.0 (and don't let renovate auto-merge it) until you have migrated to the LLVM pipeline below.
Unchanged: //coverage:llvm_profile_wrapper (kept for repos mid-migration) and //coverage:combined_report.
✨ New: reusable LLVM source-based coverage pipeline (@score_tooling//coverage)
The coverage pipeline proven in communication and persistency is now a shared module (#394), imported verbatim from eclipse-score/communication and adapted for cross-repo consumption:
Full Changelog: eclipse-score/tooling@v2.0.2...v2.1.0
v2.0.2: Release 2.0.2What's Changed
Full Changelog: eclipse-score/tooling@v2.0.1...v2.0.2
v2.0.1: Release 2.0.1What's Changed
New Contributors
Full Changelog: eclipse-score/tooling@v2.0.0...v2.0.1
v2.0.0: Release 2.0.0multitooldependency removed, then partially reintroduced (c82be4d, 3c98c2a)docs-as-codebumped to4.6.1(no longer requires multitool, unlike 3.x).A later commit re-adds
rules_multitoolas a dependency, but now only fora dedicated
actionlint_hub— the default multitool hub (ruff, ty,yamlfmt, etc.) is provided transitively via
aspect_rules_lintinstead.Consumers relying on the repo's old multitool wiring/lockfile need to
re-check their setup.
sphinxparameter removed from public API of therules_scoresphinxintegration (8d08c8b)
html_merge_toolis now a private attribute; a newsphinx_toolchainmacro replaces direct parameterization. Update
BUILDfiles per therevised
integration_guide.rst.PlantUML linker removed (2561e03)
Clickable PlantUML diagrams now resolve via a new
idmapmechanisminstead of the old linker. Anything depending on the previous linker
output/behavior breaks.
ClassDiagramdata model shrunk:relationships,source_files,versionfields removed (3e04d66)Touches the flatbuffers schema (
class_diagram.fbs) and serializer — awire-format break for anything consuming serialized class diagram
data (validation core, plantuml parser output).
PDF docs support removed (libcairo dropped) (49d7975)
Docs builds relying on PDF output via
rules_scoreexamples no longerwork.
Bazel 8.7.0 +
rules_python1.8.5 bump (6e2021b)🧩 Major Topics
Sequence diagram tooling — significant refactor
SequenceParticipantto the sequence logic model, refactoredparser/resolver, added source-location tracking, fixed related tests.
(5f1fc92,
df8dec0,
2e1a1a7,
09bee59,
c8eca5d,
7c9b690)
message suffixes/missing endpoints, group and return commands, and
graceful handling of unmodeled syntax instead of failing
(a16eccf,
b2b9978,
3add899,
c60d96b,
93afcd8)
Component/Class diagram tooling
components (fd21ff0).
(e99f189,
371edcc);
component diagram title fix
(6a4f971).
(b71001d).
Validation framework — new capability + diagnostics overhaul
(7ccbcc4,
c082280),
diagram schema check before opening
(c224ae1), fix
to only check component-internal interfaces
(e9553b1).
(1ce2cbb), with
a new validation overview doc
(2b6f125).
formatting support: bazel component validator, class design
implementation, component internal/public API, component sequence, and
sequence internal API diagnostics
(01fb511,
d52655d,
bd6c8c5,
781859d,
0067aa7,
9e760de,
1e86eb5).
of the new validator tests
(6a6fa13).
rules_scoredocs/toolchain overhaulintroduced, needs-loading deduped between
sphinx_module_extandbazel_sphinx_needs(9c4706b,
395d7b7).
available) (728b239);
tracing tag added for every Interface method
(3c21375); test
case coverage added
(1e21640).
integration testing; CI reworked into parallel runners
(49d7975).
rules-score,score-architecture,score-requirements,score-safety-analysis,score-testing) with a sync mechanism(8b9b31c,
9baca71).
cross-module link-rewriting fixes, per-target
conf.pygeneration and aconfdir/cwd bug fix, and general rule hygiene in
sphinx_module.bzl(fa242cd,
53b4301,
80a56cb,
45916a8,
cc7fce5).
cr_checkerrefactorswitched from an include- to an exclude-based file schema, reads each
file only once (previously up to 3×), and gained integration tests
(528dba0).
libclangparser hermeticityflags now sourced from the LLVM toolchain instead of the host
(c5ff8ce).
Other fixes
eprintln/no logging to a proper loggingstrategy (50ce3b9);
plantuml parser now tolerates unresolvable template types instead of
panicking (bf25920).
rules_score: several bugfixes around dependable-element path handling,doc-path hermeticity, and sphinx warning suppression
(ee78ed8); AoU
harmonization (835f219).
sysroot excludes sphinx build dir
(50f75ea,
a3246a7,
326f345),
fixed copyright headers repo-wide
(850cd89).
v1.3.1What's Changed
Full Changelog: eclipse-score/tooling@v1.3.0...v1.3.1
v1.3.0What's Changed
bazel mod depsby @castler in #197