Skip to content

2026.9.29.3: a program shipped through artifacts in a workspace plan waits for no plan-level runtime file, and its own runtime files are beside it - #740

Merged
Sunrisepeak merged 1 commit into
mainfrom
fix/artifact-runtime-in-workspace
Sep 29, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
fix/artifact-runtime-in-workspace

Conversation

@speak-agent

Copy link
Copy Markdown
Member

The validation project's post-release build of 2026.9.29.2 stopped with
"'bin/translations/qt_gppcli_en.qm', needed by 'obj/gpp_updater/Updater.exe',
missing and no known rule to make it".

  • The link edge of a unit outside the link groups (a program shipped through
    artifacts) no longer takes the plan's deploy set as order-only inputs in a
    workspace plan: the virtual root has no program, and nothing places that set.
  • A member's runtime set includes the closure of every package whose program
    the member ships through artifacts, so the program's own runtime files are
    in the member's product directory, as they were beside a root's program.
  • e2e 833 G9 states both; G2 and G3 count compile and link outputs, since a
    plan of another selection stages the runtime files again.
  • Version 2026.9.29.3; design document section 17.1.

Criterion: e2e 833 fails on the published 2026.9.29.2 with "'bin/cli.dat', needed by 'obj/helper/helper', missing and no known rule to make it" and passes on this branch.

Refs #734.

…waits for no plan-level runtime file, and its own runtime files are beside it

The validation project's post-release build of 2026.9.29.2 stopped with
"'bin/translations/qt_gppcli_en.qm', needed by 'obj/gpp_updater/Updater.exe',
missing and no known rule to make it".

- The link edge of a unit outside the link groups (a program shipped through
  artifacts) no longer takes the plan's deploy set as order-only inputs in a
  workspace plan: the virtual root has no program, and nothing places that set.
- A member's runtime set includes the closure of every package whose program
  the member ships through artifacts, so the program's own runtime files are
  in the member's product directory, as they were beside a root's program.
- e2e 833 G9 states both; G2 and G3 count compile and link outputs, since a
  plan of another selection stages the runtime files again.
- Version 2026.9.29.3; design document section 17.1.
@Sunrisepeak
Sunrisepeak merged commit c73725b into main Sep 29, 2026
43 of 45 checks passed
Sunrisepeak added a commit to mcpplibs/mcpp-index that referenced this pull request Sep 29, 2026
2026.9.29.3 (mcpp-community/mcpp#740) places the runtime files of a program a
member ships through artifacts beside it and no longer makes its link wait for
a plan-level runtime file.
Sunrisepeak added a commit to mcpplibs/mcpp-index that referenced this pull request Sep 29, 2026
…9.29.3; ignore the workspace-root build outputs (#488)

mcpp 2026.9.29.1 builds a workspace as one graph per configuration and writes
the build directory, project data, compile database and lock at the workspace
root; these four paths are ignored. 2026.9.29.2 (mcpp-community/mcpp#739)
corrects what such a plan reads from its members, among them a member's own
relative [indices].path, which 47 members of this index declare, and
2026.9.29.3 (mcpp-community/mcpp#740) places the runtime files of a program
shipped through artifacts.

- validate.yml pins mcpp 2026.9.29.3; index.toml latest_mcpp -> 2026.9.29.3,
  min_mcpp unchanged.
- The graphics check reads the member's program from its product directory,
  bin/<package name>/ of the workspace's build directory.

The full sweep with 2026.9.29.3 (run 36525705026) passed on every platform.
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