test(linux): the AppImage check looks for the renderer's folder in the image, not among the build tools #624
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/tooling
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8015c9a
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!624
Loading…
Reference in a new issue
No description provided.
Delete branch "zeldaootr/Longshot:fix-appimage-check-image-lib-folder"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: test · Risk: low · Tested on: Linux, no GPU (game-free check) · Needs: none
Why
tests/test_appimage_player_build.pyhas failed onmainsince the AppImage stopped carrying a prebuilt renderer (#574), somainis red before a release candidate. The AppImage script is right: the check refused anyusr/lib/longshotin it, which also matches wheretools.py installputs the build tools outside the image. No open pull request or claim covers it.How to reproduce
Seen on: Linux (Ubuntu 24.04), no GPU
Settings and switches: none
Steps: on
mainaa95d35f, runpython -I -B tests/test_appimage_player_build.pyExpected: 9 tests OK
Actual:
FAILED (failures=1):test_no_prebuilt_renderer:'usr/lib/longshot' unexpectedly foundinscripts/linux/appimage.sh, whoseexport EMSDK=$TOOLS/usr/lib/longshot/emsdkandS=$TOOLS/usr/lib/longshot/sysrootlines predate #574What changed
Test-only: the check now refuses
$APPDIR/usr/lib/longshot, the image's folder the prebuilt renderer was copied into, instead of anyusr/lib/longshot. No product file changes.tests/test_appimage_player_build.py:test_no_prebuilt_rendererasserts"$APPDIR/usr/lib/longshot"is not inappimage.sh. The script from before #574, which made and filled that folder, still fails it (two lines); the build tools'$TOOLS/usr/lib/longshotpaths no longer do.Measurements
Verdict: passes: the check fails on
mainand passes on this branch in two interleaved rounds.Hardware: Linux (Ubuntu 24.04, kernel 6.8), x86-64, no GPU used; Python 3.15
Scene: no game: the game-free check (its dry runs of
nx2/build.py --standalone --dry-runfrom a packaged tools folder)Method: the check run alone, round 1 on main then this branch, round 2 the same again; its unittest failures per run
How to reproduce:
python -I -B tests/test_appimage_player_build.pyon each commitaa95d35fe0c536d7Flags and settings
None
Testing
Tested: on Linux, the whole check failing on main
aa95d35fand passing here in two interleaved rounds (before this rebase, the same on main6c9edffeat6f2a98c4);test_no_prebuilt_rendereralone fails at25726217(#574's merge), where it was added. The new assertion still catchesappimage.shas it was before #574. The full suite (python -I -B tests/run_all.py, Linux,LONGSHOT_VULKAN_HEADERSset) on main6c9edffewith this and the six other red-check repairs from the same sweep merged locally (1ba90202, not pushed): 525 passed, 4 failed, 51 skipped. Three of the failures fail on main too and have their own pull requests:tests/test_walk_key.py(#497),tests/test_cpm_discovery.py(#561),tests/test_make_game_cache.py(#592). The fourth,tests/test_crash_record.py, timed out waiting 10 s for a signalled child under load and passes alone, twice. Rebased since onto mainaa95d35f, the commit re-authored under the forge's noreply address: its change is identical to before bygit patch-id; onaa95d35fthe check also ran through the runner with g++ 13.3 and with clang 23.1.5, failing on main and passing here.Not tested: Windows:
TheChecksAreWiredruns there too and only reads text; the change is the same on both systems. No AppImage was built.Must be tested: None
Risks
What could break: only this check: a renderer copied into the image under another path than
$APPDIR/usr/lib/longshotwould not be caught by this line (the check's other assertions onAppRunandRX_VK_ONLYstay).Turning it off: revert the commit
Compatibility: Nothing changes
Checklist
Everyone
type(scope): description) of the status line's type.main. Onto main94abdd57(heade2d38aac) with no conflict, with the commit subjects made Conventional Commits, which CI's lint job now checks for every commit, on a base that has CI's config (#417); each commit's change is the same as before bygit patch-id. The commits named in this description are from before this rebase:e0c536d7is nowe2d38aac. Re-run on94abdd57:test_appimage_player_buildfail on main94abdd57and pass here, with g++ 13.3 and clang 23.1.5.python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). The full run is the one in Testing, on main6c9edffe; after the rebase ontoaa95d35f, the changed check through the runner with g++ and clang, as above.third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.usr/lib/longshotin the image, not the build tools'6f2a98c42fe0c536d7a0Rebased onto
mainaa95d35f(heade0c536d7); the commits are re-authored with the forge's noreply address: no code change, the same patches bygit patch-id.Test re-run:
test_appimage_player_buildfails on mainaa95d35f(failures=1) and passes here, two interleaved rounds, and through the runner with g++ and clang; the description names the new commit.e0c536d7a0e2d38aac5aRebased onto
main94abdd57(heade2d38aac), with no conflict; the commit subjects are now Conventional Commits, which CircleCI's lint job checks for every commit of a pull request (#417), and the base has the CI's config, which a fork's pull request needs at its own head. No other change: each commit's change is the same as before bygit patch-id.Re-run on
94abdd57:test_appimage_player_buildfail on main94abdd57and pass here, with g++ 13.3 and clang 23.1.5. The description names the new commits.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.