Skip to content

fix: preserve program insertion order in OrchProgramManager#78

Closed
Lukasz-Juranek wants to merge 1 commit intoeclipse-score:mainfrom
Lukasz-Juranek:fix/program-manager-reversed-order
Closed

fix: preserve program insertion order in OrchProgramManager#78
Lukasz-Juranek wants to merge 1 commit intoeclipse-score:mainfrom
Lukasz-Juranek:fix/program-manager-reversed-order

Conversation

@Lukasz-Juranek
Copy link
Contributor

Summary

  • Fixed into_program_manager() in api/mod.rs using pop() (LIFO) instead of remove(0) (FIFO) when processing designs, causing reversed order
  • Fixed the same bug in Design::into_programs() in api/design.rs where programs within a design were also popped in reverse order
  • Updated TestGraphInSeparatePrograms test to use integration_graph scenario (runs all programs) instead of graph_program (runs only one)
  • Removed @pytest.mark.xfail marker from the test since the bug is now fixed

Test plan

  • bazel test //... — all 6 test targets PASS (including previously xfail TestGraphInSeparatePrograms::test_valid)
  • bazel build //... — full build SUCCESS
  • Format checks (rustfmt, ruff, buildifier, yamlfmt) — all PASSED

Closes #60

🤖 Generated with Claude Code

Replace `pop()` with `remove(0)` in both `into_program_manager()` and
`Design::into_programs()` to process designs and programs in FIFO order
instead of LIFO. This ensures programs maintain the order they were
added via `add_program()`.

Also fix the `TestGraphInSeparatePrograms` test to use the
`integration_graph` scenario (which runs all programs) instead of
`graph_program` (which only runs one), and remove the xfail marker
since the bug is now fixed.

Closes eclipse-score#60

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link

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.3.0) and connecting to it...
INFO: Invocation ID: 51824d7b-4c37-4a05-92ae-98d645e2b890
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.8.3 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'bazel_skylib', the root module requires module version bazel_skylib@1.7.1, but got bazel_skylib@1.8.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.14 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'buildifier_prebuilt', the root module requires module version buildifier_prebuilt@7.3.1, but got buildifier_prebuilt@8.2.0.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.14.0, but got googletest@1.14.0.bcr.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (55 packages loaded, 9 targets configured)

Analyzing: target //:license-check (138 packages loaded, 801 targets configured)

Analyzing: target //:license-check (148 packages loaded, 2243 targets configured)

Analyzing: target //:license-check (151 packages loaded, 2936 targets configured)

Analyzing: target //:license-check (160 packages loaded, 3403 targets configured)

Analyzing: target //:license-check (160 packages loaded, 3415 targets configured)

Analyzing: target //:license-check (160 packages loaded, 3415 targets configured)

Analyzing: target //:license-check (168 packages loaded, 5559 targets configured)

Analyzing: target //:license-check (191 packages loaded, 5640 targets configured)
[11 / 17] Creating runfiles tree bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/score_tooling+/dash/tool/formatters/dash_format_converter.runfiles [for tool]; 0s local ... (2 actions, 1 running)
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 141 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
Analyzing: target //:license-check (191 packages loaded, 5640 targets configured)
[14 / 17] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 1s disk-cache, processwrapper-sandbox
Analyzing: target //:license-check (191 packages loaded, 5640 targets configured)
[15 / 17] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
Analyzing: target //:license-check (191 packages loaded, 5640 targets configured)
[16 / 17] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
Analyzing: target //:license-check (191 packages loaded, 5640 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
Analyzing: target //:license-check (192 packages loaded, 9974 targets configured)
[17 / 17] no actions running
INFO: Analyzed target //:license-check (194 packages loaded, 10088 targets configured).
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 37.779s, Critical Path: 4.07s
INFO: 17 processes: 12 internal, 4 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 17 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions
Copy link

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

@github-project-automation github-project-automation bot moved this from Backlog to Done in ORC - Orchestration FT Feb 14, 2026
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.

Bug: OrchProgramManager stores programs in reversed order

1 participant