Build shadowcode before cargo test so Native Linux release can verify - #3
Closed
Shadowfetchapps wants to merge 7 commits into
Closed
Shadowfetchapps wants to merge 7 commits into
Shadowfetchapps wants to merge 7 commits into
Conversation
qualification_real spawns target/debug/shadowcode, which cargo test does not produce. Native Linux release v0.21.0 failed Verify native source with that missing-binary assertion. Co-authored-by: Bob Corbin <ShadowfetchLinux@users.noreply.github.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Shadowfetchapps
marked this pull request as ready for review
September 21, 2026 13:51
Those tests looked for target/debug/shadowcode, which cargo test does not produce. Point them at a same-crate shadowcode-engine bin so `cargo test --workspace --locked` builds it first on a clean checkout. Co-authored-by: Bob Corbin <ShadowfetchLinux@users.noreply.github.com>
…ncy." This reverts commit a284377.
Native desktop CI failed attach_close_loop_does_not_grow_descriptors with descriptor leak: baseline=39 after=64. Isolated runs stay flat; the test reads /proc/self/fd for the whole process while other control tests run in the same binary. Move it to its own integration crate. Co-authored-by: Bob Corbin <ShadowfetchLinux@users.noreply.github.com>
Native desktop verify reached the CLI harness after cargo test passed. test-native-cli.mjs still required ShadowCode 0.20.0; the 0.21.0 binary prints 0.21.0. Use the packaged version so the next bump does not stall. Co-authored-by: Bob Corbin <ShadowfetchLinux@users.noreply.github.com>
Native desktop timed out at "Window can close after its owner exits". reattach() held the attach lock for up to 20s in wait_available, so desktop_quit/close() could not detach. Release that lock while waiting and abort reconnect when close starts. Co-authored-by: Bob Corbin <ShadowfetchLinux@users.noreply.github.com>
Native desktop failed after the window suite: applicationNotices spawns rustc --version --verbose, but applyPackagingPath only kept target/, Node, and /usr/bin. Add CARGO_HOME, ~/.cargo/bin, and any safe PATH directory that already has rustc/cargo. Still reject /usr/local/bin and Hermes. Co-authored-by: Bob Corbin <ShadowfetchLinux@users.noreply.github.com>
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.
Cause
Native Linux release for tag
v0.21.0failed in Verify native source (run 35605675739).qualification_realrequiredtarget/debug/shadowcodebeforecargo testbuilt it.Native desktop on this PR then failed after that ordering fix:
attach_close_loop_does_not_grow_descriptors—descriptor leak: baseline=39 after=64from process-wide/proc/self/fdwhile othercontroltests ran in the same binary.ShadowCode 0.20.0; binary printed0.21.0.scripts/test-native-desktop.mjs:944(Window can close after its owner exits timed out).ViewClient::reattach()held the attach mutex across a 20swait_available.applicationNotices()inscripts/native-notices.mjsrecords the compiler for dependency notices.applyPackagingPathomitted rustup/CARGO_HOME, so rustc was gone while/usr/local/bin(Hermes) stayed correctly excluded.Fix
-p shadowcode-desktopbeforecargo testinrelease.ymlandnative.yml.control_descriptors.rs.--versionfromsrc-tauri/tauri.conf.jsonin the CLI/runtime harnesses.close()sets a closing flag so reconnect aborts immediately.CARGO_HOME/bin,~/.cargo/bin, and any already-safe PATH directory that containsrustc/cargoon the sanitized packaging PATH. Still reject/usr/local/bin,/snap/bin, and Hermes.No version, tag, or release-artifact changes.
Local verification
qualification_realwithout a prior desktop build: same missing-binary assertion as v0.21.0.17 → 17. Remaining plus newcontrolsuite: 13 passed.node scripts/test-native-cli.mjspassed (21 scenario groups).node --test scripts/test-native-packaging-env.mjs: 3 passed, linuxdeploy scan skipped (no cached AppImage)./usr/local/bin:/snap/bin:/usr/bin:/bin), sanitized PATH still runsrustc --version --verboseandcargo --version, and does not include/usr/local/binor.hermes.The full WebDriver window suite and
build-native.mjspackage step are not re-run in this environment. Native desktop CI is the check.After merge
This PR does not publish
v0.21.0. After Native desktop is green and the PR is merged, Robert must re-run the failed Native Linux release workflow or retagv0.21.0onto a commit that includes this fix. Do not merge from this agent; do not retag from this PR.