Skip to content

fix: un-dev reference_integration test deps - #225

Merged
PiotrKorkus merged 3 commits into
mainfrom
fix/non-dev-reference-integration-test-deps
Sep 18, 2026
Merged

PiotrKorkus merged 3 commits into
mainfrom
fix/non-dev-reference-integration-test-deps

Conversation

@antonkri

Copy link
Copy Markdown
Contributor

Follow-up from eclipse-score/reference_integration#348 (review by @PiotrKorkus, same reasoning as #224): score/time_slave/tests/reference_integration/ BUILD files load() score_itf, rules_pkg, score_rules_imagefs and nlohmann_json, all four declared dev_dependency = True in this module's own MODULE.bazel. Once score_time is consumed as a non-root Bazel module (e.g. by reference_integration), those repos are dropped from the graph and package loading fails before target selection even starts - the same class of issue already fixed for the root BUILD in #222.

Drops dev_dependency = True from the four bazel_deps (plus the standalone flag on the json_schema_validator http_archive). The imagefs/oci module extensions themselves stay dev_dependency - only the repos need to be visible for load().

Once merged, reference_integration's known_good.json hash for score_time can be bumped and patches/time/002-non-dev-reference-integration-test-deps.patch removed.

@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: d2418db5-df3f-4682-9253-551af14814ac
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'platforms', the root module requires module version platforms@1.0.0, but got platforms@1.1.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'score_platform', the root module requires module version score_platform@0.7.1, but got score_platform@0.7.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_oci', the root module requires module version rules_oci@2.2.7, but got rules_oci@2.3.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 3 packages loaded
WARNING: Target pattern parsing failed.
ERROR: Skipping '//:license-check': no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/time/time/BUILD
ERROR: no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/time/time/BUILD
INFO: Elapsed time: 14.664s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

score/time_slave/tests/reference_integration/ is built specifically for
consumption by reference_integration's per-module unit-test sweep
(@score_time//score/...). Its BUILD files load() score_itf, rules_pkg,
score_rules_imagefs and nlohmann_json, but all four were only declared as
dev_dependency = True in this module's own MODULE.bazel. Once score_time
is used as a non-root module (e.g. by reference_integration), those repos
become invisible and package loading fails before target selection even
starts - identical failure mode to the score_tooling issue fixed for the
root BUILD in #222.

Drop dev_dependency = True from the four bazel_deps (plus the standalone
flag on the json_schema_validator http_archive, which needs nlohmann_json
to load its own BUILD file). The imagefs/oci module extensions themselves
stay dev_dependency - only the repos need to be visible for load().
@antonkri
antonkri force-pushed the fix/non-dev-reference-integration-test-deps branch from 859eda4 to efa1b29 Compare September 18, 2026 08:10
ryan-steel
ryan-steel approved these changes Sep 18, 2026
@antonkri

Copy link
Copy Markdown
Contributor Author

@PiotrKorkus could you have a look, please?

@PiotrKorkus
PiotrKorkus merged commit 9b307d8 into main Sep 18, 2026
16 of 19 checks passed
@PiotrKorkus
PiotrKorkus deleted the fix/non-dev-reference-integration-test-deps branch September 18, 2026 15:39
@github-project-automation github-project-automation Bot moved this from In Progress to Done in TIM - Time FT Sep 18, 2026
antonkri added a commit to eclipse-score/reference_integration that referenced this pull request Sep 21, 2026
Bump score_time from 866479f654292155fbfef488fa02c089f3e5d8e1 to
9b307d896c77cf85d8ad7097da04a3ef041df005 (main).

Remove two now-obsolete patches, both superseded by upstream PRs opened
during PR #348 review:

- 001-fix-docs-mount-cross-references.patch: merged upstream via
  eclipse-score/time#224 (verified via patch --dry-run: "Reversed (or
  previously applied) patch detected").
- 002-non-dev-reference-integration-test-deps.patch: merged upstream via
  eclipse-score/time#225. dry-run reports hunk failures (not "reversed")
  because upstream reformatted surrounding blank lines, but manual
  inspection of MODULE.bazel at the new hash confirms every
  dev_dependency = True removal from the patch is already present.

003-disable-broken-qnx-ifs-target.patch is kept: it fixes an independent
version conflict between reference_integration's own pinned
score_rules_imagefs 0.0.1 override and score_time's test target, unrelated
to #224/#225, and still applies cleanly.

Verified with 'bazel query @score_time//score/...' (the actual
code_root_path subtree) and 'bazel build @score_time//score/ts_client:docs_bundle'.

Regenerated bazel_common/score_modules_target_sw.MODULE.bazel via
scripts/known_good/update_module_from_known_good.py. MODULE.bazel.lock
needs no update: git_override entries are read directly from MODULE.bazel
and are not part of the registry-resolved lockfile content.
antonkri added a commit to eclipse-score/reference_integration that referenced this pull request Sep 21, 2026
Bump score_time from 866479f654292155fbfef488fa02c089f3e5d8e1 to
9b307d896c77cf85d8ad7097da04a3ef041df005 (main).

Remove two now-obsolete patches, both superseded by upstream PRs opened
during PR #348 review:

- 001-fix-docs-mount-cross-references.patch: merged upstream via
  eclipse-score/time#224 (verified via patch --dry-run: "Reversed (or
  previously applied) patch detected").
- 002-non-dev-reference-integration-test-deps.patch: merged upstream via
  eclipse-score/time#225. dry-run reports hunk failures (not "reversed")
  because upstream reformatted surrounding blank lines, but manual
  inspection of MODULE.bazel at the new hash confirms every
  dev_dependency = True removal from the patch is already present.

003-disable-broken-qnx-ifs-target.patch is kept: it fixes an independent
version conflict between reference_integration's own pinned
score_rules_imagefs 0.0.1 override and score_time's test target, unrelated
to #224/#225, and still applies cleanly.

Verified with 'bazel query @score_time//score/...' (the actual
code_root_path subtree) and 'bazel build @score_time//score/ts_client:docs_bundle'.

Regenerated bazel_common/score_modules_target_sw.MODULE.bazel via
scripts/known_good/update_module_from_known_good.py. MODULE.bazel.lock
needs no update: git_override entries are read directly from MODULE.bazel
and are not part of the registry-resolved lockfile content.
antonkri added a commit to eclipse-score/reference_integration that referenced this pull request Sep 21, 2026
Bump score_time from 866479f654292155fbfef488fa02c089f3e5d8e1 to
9b307d896c77cf85d8ad7097da04a3ef041df005 (main).

Remove two now-obsolete patches, both superseded by upstream PRs opened
during PR #348 review:

- 001-fix-docs-mount-cross-references.patch: merged upstream via
  eclipse-score/time#224 (verified via patch --dry-run: "Reversed (or
  previously applied) patch detected").
- 002-non-dev-reference-integration-test-deps.patch: merged upstream via
  eclipse-score/time#225. dry-run reports hunk failures (not "reversed")
  because upstream reformatted surrounding blank lines, but manual
  inspection of MODULE.bazel at the new hash confirms every
  dev_dependency = True removal from the patch is already present.

003-disable-broken-qnx-ifs-target.patch is kept: it fixes an independent
version conflict between reference_integration's own pinned
score_rules_imagefs 0.0.1 override and score_time's test target, unrelated
to #224/#225, and still applies cleanly.

Verified with 'bazel query @score_time//score/...' (the actual
code_root_path subtree) and 'bazel build @score_time//score/ts_client:docs_bundle'.

Regenerated bazel_common/score_modules_target_sw.MODULE.bazel via
scripts/known_good/update_module_from_known_good.py. MODULE.bazel.lock
needs no update: git_override entries are read directly from MODULE.bazel
and are not part of the registry-resolved lockfile content.
antonkri added a commit to eclipse-score/reference_integration that referenced this pull request Sep 21, 2026
* docs: enable score_time documentation bundle

- known_good.json: drop "docs": false for score_time and bump its
  hash to 866479f (upstream moved score_tooling dev targets out of
  the root BUILD, fixing a dev_dependency visibility error when the
  module is loaded as a docs_bundle from a non-root workspace).
- scripts/known_good/update_module_from_known_good.py: wire up the
  previously unused generate_docs_bundles_content() so docs_bundles.bzl
  is actually regenerated by the script, as already documented/tested.
- patches/time/001-fix-docs-mount-cross-references.patch: fix two
  Sphinx issues in score_time's docs that only surface once mounted
  into the combined reference_integration site: a duplicate
  "user_manual" label colliding with score_lifecycle's, and absolute
  :doc: cross-references that break outside score_time's own site root.
- Regenerated bazel_common/score_modules_target_sw.MODULE.bazel and
  bazel_common/docs_bundles.bzl from known_good.json.

Verified with:
  bazel run --lockfile_mode=error //:docs_shim -- \
      --github_user=eclipse-score --github_repo=reference_integration
which now reports "build succeeded."

* fix(time): un-dev score_time's reference_integration test deps

score_time's newest commit (866479f) added score/time_slave/tests/reference_integration/,
a test tree built specifically for consumption by reference_integration's generic
per-module unit-test sweep (@score_time//score/...). Its BUILD files load() several
Bazel repos that score_time only declares as dev_dependency = True in its own
MODULE.bazel, so once score_time is a non-root module (our case) those repos are
invisible and package loading crashes before any target selection happens -
identical failure mode to the score_tooling issue fixed upstream for the root BUILD.

- patches/time/002-non-dev-reference-integration-test-deps.patch: drop
  dev_dependency = True from score_itf, rules_pkg, score_rules_imagefs and
  nlohmann_json bazel_deps (plus the standalone dev_dependency flag on the
  json_schema_validator http_archive, which needs nlohmann_json to load its own
  BUILD file). The imagefs/oci module extensions themselves stay dev_dependency -
  we only need the repos visible for load(), not their toolchain machinery.
- patches/time/003-disable-broken-qnx-ifs-target.patch: the qnx_ifs target in
  score/time_slave/tests/reference_integration/qnx/BUILD still fails even once its
  repo is visible - its declared score_rules_imagefs 0.0.3 doesn't have the
  extra_build_files attribute the target uses. Since it's a QNX image-filesystem
  build we don't need for reference_integration's tests, remove the target (and
  its now-unused load) rather than chase a version bump.
- known_good.json: register both new patches for score_time.
- Regenerated bazel_common/score_modules_target_sw.MODULE.bazel.

Verified by overlaying the three patches (applied via GNU patch, matching Bazel's
ctx.patch()) onto a pristine shallow clone of score_time@866479f, then swapping
that into the fetched @score_time+ external repo and re-running
`bazel query/build "@score_time//score/..."`  - no more package-loading or
analysis errors.

* Update score_time to latest known-good hash

Bump score_time from 866479f654292155fbfef488fa02c089f3e5d8e1 to
9b307d896c77cf85d8ad7097da04a3ef041df005 (main).

Remove two now-obsolete patches, both superseded by upstream PRs opened
during PR #348 review:

- 001-fix-docs-mount-cross-references.patch: merged upstream via
  eclipse-score/time#224 (verified via patch --dry-run: "Reversed (or
  previously applied) patch detected").
- 002-non-dev-reference-integration-test-deps.patch: merged upstream via
  eclipse-score/time#225. dry-run reports hunk failures (not "reversed")
  because upstream reformatted surrounding blank lines, but manual
  inspection of MODULE.bazel at the new hash confirms every
  dev_dependency = True removal from the patch is already present.

003-disable-broken-qnx-ifs-target.patch is kept: it fixes an independent
version conflict between reference_integration's own pinned
score_rules_imagefs 0.0.1 override and score_time's test target, unrelated
to #224/#225, and still applies cleanly.

Verified with 'bazel query @score_time//score/...' (the actual
code_root_path subtree) and 'bazel build @score_time//score/ts_client:docs_bundle'.

Regenerated bazel_common/score_modules_target_sw.MODULE.bazel via
scripts/known_good/update_module_from_known_good.py. MODULE.bazel.lock
needs no update: git_override entries are read directly from MODULE.bazel
and are not part of the registry-resolved lockfile content.

* Update score_time to latest known-good hash

Bump score_time from 9b307d896c77cf85d8ad7097da04a3ef041df005 to
3723ce687e4abc7d6cb4c0efdbbd30455ed7c303 (main), which merges
eclipse-score/time#229: fixes the absolute :doc: mount cross-reference
in score/time/docs/detailed_design/index.rst that broke
reference_integration's combined docs build (WARNING: unknown document:
'/module/manuals/user_manual', treated as error with -W).

Regenerated bazel_common/score_modules_target_sw.MODULE.bazel via
scripts/known_good/update_module_from_known_good.py.

MODULE.bazel.lock verified unchanged: 'bazel build --lockfile_mode=error
@score_time//:docs_bundle' before and after this bump produces an
identical MODULE.bazel.lock (same checksum) and completes successfully -
git_override entries are read directly from MODULE.bazel and are not
part of the registry-resolved lockfile content.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants