Skip to content

Release candidate v0.9 - #320

Merged
PiotrKorkus merged 41 commits into
releases/v_0_9from
release_candidate_09
Sep 7, 2026
Merged

Release candidate v0.9#320
PiotrKorkus merged 41 commits into
releases/v_0_9from
release_candidate_09

Conversation

@arkjedrz

Copy link
Copy Markdown
Contributor

No description provided.

LittleHuba and others added 3 commits August 28, 2026 12:54
Update known_good.json to a new, consistent, passing state across all
S-CORE modules, based on score_communication HEAD at the start of this
work, preferring published releases and falling back to a pinned
commit hash with atomic patches where no suitable recent release
exists.

Module changes:
- score_baselibs -> 0.2.12
- score_persistency -> 0.3.5 (rust_kvs moved from src/rust/rust_kvs to
  score/kvs/rust_kvs; code_root_path/exclude_test_targets metadata
  updated; obsolete patches 001-003 removed as fixed upstream)
- score_orchestrator -> 0.1.1
- score_kyron -> 0.1.3
- score_communication -> 0.4.0 (published release; existing patches
  001-expose-comm-examples, 003-module-deps-visibility,
  004-rules-build-error-not-dev-dependency apply cleanly and
  unmodified against the 0.4.0 tag)
- score_lifecycle_health renamed to score_lifecycle -> 0.5.0 (kept in
  its original position in known_good.json, directly after
  score_kyron, to minimize diff in generated files)
- score_logging, score_time, score_config_management: hash-pinned to
  new upstream HEADs, with patches regenerated/added:
  - patches/logging/002-004 regenerated for context drift;
    005-memory-shared-moved-to-communication.patch removed (merged
    upstream)
  - patches/time/001 regenerated; new
    002-lifecycle-renamed-to-score_lifecycle.patch and
    003-remove-obsolete-py_unittest_qnx_test.patch (score_time relied
    on a py_unittest_qnx_test.bzl macro removed upstream from
    score_baselibs)
  - patches/config_management: new
    002-lifecycle-renamed-to-score_lifecycle.patch
- tooling group bumped: score_crates -> 0.0.11, score_itf -> 0.5.0,
  score_tooling -> 2.2.1, score_platform -> 0.7.1,
  score_bazel_platforms -> 1.0.0, score_test_scenarios -> 0.4.1,
  score_docs_as_code -> 8.0.1, score_process renamed to
  score_process_description -> 2.1.2

Own-repository fixes required by the above bumps:
- bazel/toolchains/BUILD, bazel_common/score_llvm_libclang.MODULE.bazel:
  adapt to score_tooling@2.2.1's new libclang_toolchain() signature
  (cc_toolchain attribute instead of cxx_builtin_include/
  extra_config_site) and expose the llvm_toolchain repo
- BUILD, showcases/simple_lifecycle/BUILD: fix @score_lifecycle_health
  / @score_process label references to the renamed modules
- feature_integration_tests/test_scenarios/rust/BUILD,
  showcases/orchestration_persistency/BUILD: fix
  @score_persistency//src/rust/rust_kvs ->
  @score_persistency//score/kvs/rust_kvs
- .bazelrc: removed obsolete persistent_logging flag line
- MODULE.bazel.lock: updated for all new/changed module resolutions

Validated:
- bazel mod graph: passes
- bazel build --config=linux-x86_64 //images/linux_x86_64:image:
  passes (full build)
- bazel build --config=linux-x86_64 //feature_integration_tests/itf:
  passes (test target builds; only pre-existing deprecation warnings)
- Generated files confirmed self-consistent/idempotent with
  known_good.json

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ore_baselibs

score_communication's own MODULE.bazel already carries a
single_version_override patch for score_baselibs
(third_party/score_baselibs/restore_qnx8_poll_workaround.patch) that
fixes AbortableBlockingReader::WaitForData on QNX8: inotify file
descriptors often only report POLLRDNORM (not POLLIN) as readable, and
without a finite poll timeout a resource-manager wakeup failure would
block forever (Ticket-221150). However, bzlmod only honors
single_version_override/git_override entries declared by the root
module, so this patch was silently ignored when score_baselibs is
resolved as a dependency of our own root module.

Add the same patch as
patches/baselibs/002-restore-qnx8-poll-workaround.patch and register it
in known_good.json's score_baselibs bazel_patches, so inotify-based
blocking reads work as expected on QNX8 in this integration as well.
Verified the patch applies cleanly (git apply --check) against our
currently pinned score_baselibs@0.2.12 checkout.

Validated:
- bazel mod graph: passes
- bazel build --config=linux-x86_64 //images/linux_x86_64:image:
  passes (full build, 1484 actions)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rage_report working

score_tooling@2.1.0 removed rust_coverage_report from its public API in
favor of a fundamentally different score_coverage_scope/
score_coverage_reporter design (aspect-based, driven by implementation
target deps rather than rust_test query strings). Our
rust_coverage/BUILD (one target per rust-capable module, generated
from known_good.json) still relies on the old API, so 2.2.1 broke
`bazel query //rust_coverage/...` outright ("package contains
errors").

rust_coverage_report is only present through score_tooling@2.0.2 (the
last tag before the 2.1.0 rewrite), so pin to that version instead.

Separately, score_tooling's own defs.bzl had already stopped exporting
use_format_targets before 2.0.0 (it moved to
third_party/format:macros.bzl); fix BUILD's load() accordingly. That
macro in turn requires @aspect_rules_lint, which score_tooling@2.0.2
declares as dev_dependency = True -- invisible to consumers under
bzlmod. Add patches/tooling/001-expose-aspect-rules-lint-non-dev.patch
(one-line: drop dev_dependency = True from the aspect_rules_lint
bazel_dep in MODULE.bazel) so the format targets keep working on
2.0.2, exactly as they do on 2.2.1.

Net effect: same working format.* targets as before, plus
rust_coverage/BUILD targets restored, on score_tooling@2.0.2.

A full migration to score_tooling's new coverage API (to move back to
a current release) is a separate, larger follow-up.

Validated:
- bazel mod graph: passes
- bazel query "//:all + //rust_coverage/...": passes, includes
  //rust_coverage:rust_coverage_score_* targets and //:format.* targets
- bazel build --config=linux-x86_64 //images/linux_x86_64:image:
  passes (full build, 1485 actions)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@AlexanderLanin

Copy link
Copy Markdown
Member

@arkjedrz can you explain overlap with #317?

@PiotrKorkus

Copy link
Copy Markdown
Contributor

@arkjedrz can you explain overlap with #317?

This is correct PR as it targets releases branch. #317 is targeting main branch. This one is correct in SCORE release aspect

Add the release note for the S-CORE platform v0.9.0 release, derived from
known_good.json on release_candidate_09 and the commits since v0.8.0.

- Module versions listed with their delta against v0.8.0
- Logging, Time and Configuration Management are flagged as pinned to
  development commits instead of registry releases
- New "Incompatible Changes" section covering the score_lifecycle_health ->
  score_lifecycle and score_process -> score_process_description renames

The note is picked up automatically by the globbed toctree in releases.rst.
@LittleHuba LittleHuba mentioned this pull request Aug 31, 2026
antonkri and others added 9 commits August 31, 2026 13:09
The upstream commit e0489b1 (config_management#58) already renames
score_lifecycle_health to score_lifecycle, which made patch 002
redundant and broke patch 001 (context mismatch on the renamed BUILD
targets). Merged the intended changes of both patches into a single
rebased 001 patch that applies cleanly on top of e0489b1, and dropped
the now-obsolete 002 patch.
Upstream commit e0489b1 leaves main_test.cpp referencing
score::mw::lifecycle::LifeCycleManagerMock, which no longer exists in
score_lifecycle v0.5.0 (renamed/removed), so
//score/config_management/config_daemon/code:main_function_test fails
to compile. Excluding it until upstream fixes the mock usage.
- Bump score_docs_as_code to 8.1.0 to get :post_template:
  module_verification_report support (docs-as-code#763).
- Add score_persistency bazel_patches:
  001-add-mod-need.patch, 002-rename-manual-verification-report-id.patch
  (renames colliding doc__persistency_verification_report ID so the new
  auto-generated report can use it instead).
- Add docs/verification_report/modules/persistency/persistency_verification_report.rst,
  a locally-defined :post_template: report rendered from
  @score_persistency//:needs_json (needed because reference_integration
  only imports needs_json, not the full RST sources required for
  Jinja rendering of post_template).
- Add docs/verification_report/index.rst as a landing page grouping the
  platform verification report and per-module verification reports,
  replacing the previous direct toctree links in docs/index.rst.
- Fix docs/index.rst 'Integration' grid-item-card missing blank line
  (caused title/body to visually overlap) and add missing icons to the
  Integration and Modules cards.
- Fix Starlark formatting drift in bazel_common/score_python.MODULE.bazel
  via buildifier (format.fix_Starlark_with_buildifier).
- score_lifecycle: remove two stale exclude_test_targets entries
  (mpmc/mpsc tsan_test) that no longer exist in the pinned module version,
  which caused "no such target" errors aborting the coverage build.
- score_persistency: exclude the QNX/rpi4-only
  score/kvs/tests/integration_test_scenarios package from coverage
  (hardware-specific test data, not relevant for x86_64 coverage).
- score_persistency: add patches 003 and 004 to make the pip extension
  and the score_rules_imagefs bazel_dep non-dev dependencies, since
  score/kvs/... (the new code_root_path) recursively loads packages that
  reference them and dev_dependency=True deps are invisible to downstream
  consumers. The pip hub was renamed to pip_score_persistency_venv_test to
  avoid a cross-module hub name collision with reference_integration's own
  pip hub.
Comment thread patches/baselibs/003-score-tooling-not-dev-dependency.patch
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Release Approval Check Results

Target Branch:

Status: All modules have required approvals

Modules:

  • score_baselibs: Approved by 4og, antonkri

  • score_communication: Approved by LittleHuba

  • score_persistency: Approved by vinodreddy-g, umaucher

  • score_kyron: Approved by pawelrutkaq, vinodreddy-g

  • score_lifecycle: Approved by pawelrutkaq, NicolasFussberger

  • score_logging: Approved by antonkri, pawelrutkaq

  • score_time: Approved by lavrovvalera

  • score_config_management: Approved by antonkri

  • score_docs_as_code: Approved by MaximilianSoerenPollak

  • score_platform: Approved by FScholPer, antonkri

  • score_itf: Approved by draganbjedov

  • score_test_scenarios: Approved by PiotrKorkus

  • Testing: Approved by PiotrKorkus

  • Infrastructure: Approved by AlexanderLanin

  • Technical_Leads: Approved by antonkri, FScholPer

@pawelrutkaq pawelrutkaq changed the title Release candidate 09 Release candidate v0.9 Sep 4, 2026
@antonkri
antonkri force-pushed the release_candidate_09 branch from 513f506 to a187366 Compare September 4, 2026 13:03
4og
4og previously approved these changes Sep 4, 2026

@4og 4og left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine for baselibs

Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst Outdated
Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst Outdated
Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst
Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst Outdated
Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst Outdated
Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst Outdated
Comment thread docs/s_core_v_1/releases/release_note_score_v0_9.rst Outdated
@antonkri
antonkri force-pushed the release_candidate_09 branch from 84776fc to 809c2fb Compare September 7, 2026 08:43
@antonkri
antonkri self-requested a review September 7, 2026 08:49

@lavrovvalera lavrovvalera left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for Time

@pawelrutkaq
pawelrutkaq requested a review from 4og September 7, 2026 09:39
@antonkri

antonkri commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

@4og @michaelsaborov please approve the PR

@antonkri

antonkri commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Fine for baselibs

thanks

@pawelrutkaq

Copy link
Copy Markdown
Contributor

lgtm, ther eis issue with check-approval reporting but job green, merge manually.

@PiotrKorkus
PiotrKorkus merged commit 71b00dd into releases/v_0_9 Sep 7, 2026
18 of 31 checks passed
@PiotrKorkus
PiotrKorkus deleted the release_candidate_09 branch September 7, 2026 15:00
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.