Skip to content

Update score_baselibs commit hash to latest version - #355

Merged
antonkri merged 14 commits into
mainfrom
4og_update_baselibs
Sep 28, 2026
Merged

antonkri merged 14 commits into
mainfrom
4og_update_baselibs

Conversation

@4og

@4og 4og commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

This pull request updates the dependency on the score_baselibs module to a newer commit. The change ensures that both the Bazel module file and the known_good.json reference the same, latest commit for consistency across builds.

Dependency update:

  • Updated the score_baselibs dependency to commit f2af2ddb0688abf3bf7516f87bd740afbf1965f8 in both bazel_common/score_modules_target_sw.MODULE.bazel and known_good.json.

@4og

4og commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

The build issue in communication is addressed in eclipse-score/communication#1129

@4og
4og force-pushed the 4og_update_baselibs branch from 3b3faa5 to 2dc5a5e Compare September 22, 2026 13:25
@4og

4og commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

The other issues related to deprecated rust targets are addressed in eclipse-score/lifecycle#681 and eclipse-score/persistency#431

@4og
4og force-pushed the 4og_update_baselibs branch from b5afb2d to 85c8aa3 Compare September 22, 2026 16:58
@4og
4og force-pushed the 4og_update_baselibs branch from 85c8aa3 to ff36a99 Compare September 22, 2026 17:18
…n-report patch

Baselibs eclipse-score/baselibs#618 fixed the module_verification_report
post_template to include all components and switched baselibs' own
docs/verification_report/module_verification_report.rst to generate its
report via the shared module_verification_report post_template, keeping
the id doc__baselibs_verification_report (the template derives the module
id by stripping doc__/_verification_report from the need's own id, so this
id is now load-bearing).

patches/baselibs/005-rename-manual-verification-report-id.patch is no
longer compatible with that: reapplying it would rename the id to
doc__baselibs_manual_verification_report, which the template would then
misparse as module id baselibs_manual, producing an empty report.

- Bump score_baselibs known_good pin to 9216215f3a8468f3487884b472e1f325ef36f92b (main after #618).
- Drop patch 005 from known_good.json and regenerate bazel_common/score_modules_target_sw.MODULE.bazel.
- Simplify docs/verification_report/modules/baselibs/baselibs_verification_report.rst: it no longer
  redeclares a document with the (now colliding) id, it just links to the report baselibs itself
  contributes via its docs bundle mount.
- Refresh MODULE.bazel.lock via 'bazel mod deps --lockfile_mode=update'.
… wrapper

Remove docs/verification_report/modules/baselibs/, which only redeclared
a redundant document need. Link modules/index.rst directly to
/modules/score_baselibs/verification_report/module_verification_report,
the report baselibs itself contributes via its docs bundle mount, so
clicking "Baselibs" jumps straight to it instead of an intermediate
wrapper page.
antonkri and others added 2 commits September 23, 2026 11:08
…el.lock

bazel mod tidy in CI removes the obsolete registryFileHashes entries for
buildifier_prebuilt/8.2.0.2, which are no longer part of the resolved
dependency graph. Sync the lockfile to fix the bzlmod-lock-check.
antonkri added a commit that referenced this pull request Sep 24, 2026
Skipping the extraction removed the module from the coverage table
entirely, which is silent in the same way the zero rows were. Emit a row
with status 'skipped' instead, and suppress the coverage annotation for
those, since the unit test annotation for the same module already names
the cause.

The run of #355 shows why the table cannot simply be trusted: the
coverage published for the two modules whose tests never ran was
character-identical to the module tested just before them.

  score_config_management_cpp  lines 90.8%  functions 84.4%  branches 67.1%
  score_time_cpp               lines 90.8%  functions 84.4%  branches 67.1%

  score_logging_cpp            lines 77.6%  functions 81.8%  branches 51.2%
  score_lifecycle_cpp          lines 77.6%  functions 81.8%  branches 51.2%
@antonkri

Copy link
Copy Markdown
Contributor

Fix for Lifecycle: eclipse-score/logging#271

baselibs 0bde8113d ("memory: remove deprecated string manipulation
shims") dropped the forwarding headers that still lived under
score/memory; string_literal, string_comparison_adaptor and
split_string_view have been in //score/string_manipulation since
980a5510d. config_management never followed, so against the baselibs
commit this branch pins, config_provider_impl.h fails to compile with

  fatal error: score/memory/string_comparison_adaptor.h: No such file

Point the include at the new path and add the Bazel dependency
explicitly. It was only reachable transitively via
score/json/internal/model before, which is not something a header
should rely on.

Upstream has nothing to wait for: neither main nor any open PR or
branch in eclipse-score/config_management touches this header, so the
patch stays until the module migrates itself.

While here, drop the duplicate "bazel_patches" key in the module's
known_good.json entry - the later one silently won.
…selibs

Two independent baselibs restructurings caught up with score_logging at
the same time:

  980a5510d  string_literal moved to //score/string_manipulation
  9c2a4481b  Rust components moved from //src/log to //score/log_rust
  0bde8113d  the deprecated score/memory shims were finally removed

Against the baselibs commit this branch pins, that leaves four dead
labels:

  score/datarouter/error            -> score/memory:string_literal
  score_log_bridge (2x)             -> src/log/score_log
  score_log_bridge_cpp_init         -> src/log/score_log

The first one breaks the x86_64 Linux and QNX8 image builds, the Rust
ones abort analysis of the whole module, which is why score_logging
reported zero executed tests.

The same three files are already rewritten this way in
eclipse-score/logging#271, but that is a syslog-backend feature PR tied
to baselibs#502, not a migration, and it is behind main. Nothing else
upstream addresses this, so carry the change here until the module
migrates on its own.
The merge with main brought in #367, which moves score_logging from
c8e85fd8 to b4f272b0. The patch still applied there, but with the two
Rust hunks drifting 10 and 11 lines. Regenerate it against b4f272b0 so
it sits on its context exactly.

No content change: the same four labels are rewritten.
@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@antonkri
antonkri merged commit f9aa17d into main Sep 28, 2026
19 of 20 checks passed
@antonkri
antonkri deleted the 4og_update_baselibs branch September 28, 2026 05:47
antonkri added a commit that referenced this pull request Sep 28, 2026
* ci: name the modules whose tests failed

quality_runners.py already records an exit code per module, but the job
summary it renders uses the columns module/passed/failed/skipped/total.
A module whose bazel invocation aborted during analysis therefore shows
up as all zeroes - indistinguishable from one that simply has no tests,
and `failed` even claims zero failures. In #355 that hid two broken
modules behind these rows:

  | score_logging           | 0 | 0 | 0 | 0 |
  | score_config_management | 0 | 0 | 0 | 0 |

Add a status column, emit ::error annotations so GitHub names the module
above the step list of the run, and close the log with an explicit block
naming the failures instead of a pprint dump.

Mirror the summary into a single comment on the pull request, rewritten
on every run. The job summary is only reachable behind the "Details"
link, so the conversation view showed nothing beyond "test_and_docs -
Failing after 45m".

Also skip coverage extraction when the test run failed. genhtml reads
the .dat file from a fixed location, which after a failed run still
holds the previous module's data: the coverage report published for
score_config_management in #355 in fact contained score_time's numbers.

* ci: list skipped coverage runs instead of dropping them

Skipping the extraction removed the module from the coverage table
entirely, which is silent in the same way the zero rows were. Emit a row
with status 'skipped' instead, and suppress the coverage annotation for
those, since the unit test annotation for the same module already names
the cause.

The run of #355 shows why the table cannot simply be trusted: the
coverage published for the two modules whose tests never ran was
character-identical to the module tested just before them.

  score_config_management_cpp  lines 90.8%  functions 84.4%  branches 67.1%
  score_time_cpp               lines 90.8%  functions 84.4%  branches 67.1%

  score_logging_cpp            lines 77.6%  functions 81.8%  branches 51.2%
  score_lifecycle_cpp          lines 77.6%  functions 81.8%  branches 51.2%

* ci: colour the status column with an emoji prefix

Markdown has no way to colour a table cell that survives both a GitHub
comment and the Sphinx build of the same file, so carry the colour in an
emoji and keep the word next to it for readers without emoji support.

* ci: write the job summary from the script instead of commenting on the PR

Review feedback: the pull-requests:write scope should not gain another
user, and the summary is better assembled where the data already exists.

The script now appends the two tables to GITHUB_STEP_SUMMARY directly, so
the shell step that cat'ed the files and the github-script step that
mirrored them into a pull request comment both go away. Nothing reads the
markdown files back any more - they are written purely for the
documentation build - which also removes the need to delete them up front.

The failing modules stay visible without opening the log: the ::error
annotations render above the step list of the run.
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