Repository navigation
Issue #257: publish PilotDataSync.xpl and relay.exe from CI - #279
Merged
Merged
Conversation
meson-build.yml now also builds the relay and keeps both files as workflow artifacts on every run. release.yml reuses that build; a v* tag publishes both files to a GitHub Release, and a manual run is a dry run. relay/.cargo/config.toml links the C runtime statically, so relay.exe needs no VC++ redistributable (checked locally: no vcruntime140 or api-ms-win-crt imports). The README says where to download them.
A manual run started on a tag ref no longer publishes: the publish job needs a tag push. meson-build.yml builds branches only, so a v* tag is built once, by release.yml. One download step fetches both artifacts, now named plugin and relay. AGENTS.md lists release.yml, and the README notes that the no-redistributable claim is unconfirmed on a clean lab PC and that relay.exe opens a console window.
|
Phlabry
approved these changes
Nov 13, 2026
Phlabry
left a comment
Collaborator
There was a problem hiding this comment.
LGTM. relay/.cargo/config.toml is found from the working directory, not the manifest, so cargo build --manifest-path relay/Cargo.toml from the repo root drops the static CRT. CI sets working-directory, so it's fine there.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Closes #257
Summary
Evidence
relay.exefromcargo build --release(objdump):VCRUNTIME140.dll,api-ms-win-crt-{math,runtime,string,stdio,locale,heap}-l1-1-0.dll, so the lab PC needs the VC++ redistributable.After: DLLs imported by the CI-built
relay.exefrom this branch's run: Windows system DLLs only (kernel32,user32,gdi32,ws2_32,opengl32,d3dcompiler_47, …), and nothing from the VC++ redistributable.PilotDataSync.xplimportsXPLM_64.dll(from X-Plane),OPENGL32,KERNEL32,ntdlland the Universal CRT (api-ms-win-crt-*), which ships with Windows 10 and 11. It doesn't need the VC++ redistributable either.pluginandrelayartifacts.cd relay && cargo testpasses 25 tests.Not verified:
release.ymlitself. GitHub only allows a manual run of a workflow that is onmain, so the dry run can happen only after merge (Actions → Release → Run workflow).relay.exeon a PC without the redistributable, and the CI-built plugin loading in X-Plane, both need the lab PCs. The README carries a note until someone confirms.Merge Danger
Door: two-way
Nothing is published until someone pushes a
v*tag. Merge #275 first, then tag, so the first release's plugin includes the flight-loop fix. Deleting a bad release and its tag undoes it.Blast Radius: CI
meson-build.ymlnow also builds the relay, so each run takes longer, and its job is renamed "Build the plugin and relay on Windows" (no branch protection rule requires the old name). Tag pushes no longer triggermeson-build.ymldirectly;release.ymlbuilds them instead.