Closed timotheecour closed 4 years ago
Sorry, it is already fixed.
/cc @yglukhov
please read again, the git tag aspect is important:
important: add a git tag after it's working, and keep updating it on regular basis (could be very often, so long it's at a point where it's working) after that, nimble install in important_packages should test latest stable release, not HEAD (which is likely to break often)
also somehow after 88b17c197a14316c797a5fe0392ef72628abd9eb I'm now getting:
/Users/timothee/git_clone/nim/temp/nimx2/nimx/layout_vars.nim(18, 1) template/generic instantiation from here
/Users/timothee/git_clone/nim/temp/nimx2/nimx/layout_vars.nim(19, 32) Error: type mismatch: got <Variable>
but expected one of:
also somehow after...
Please update kiwi
dependency.
/cc @yglukhov
Please update kiwi dependency.
ok after that NIMBLE_DIR=$HOME/.nimble_fake13 nim c --threads:on test/main.nim
works, thanks!
but the point about having a git tag for every release that's been tested remains.
Did the broken commit pass your CI?
also, compilation works but running doesn't: nim c -r --threads:on test/main.nim 2020-04-11 06:09:46.325 main[41548:123173162] Program linked: WARNING: Output of vertex shader 'vPos' not read by fragment shader
if i click on:
2020-04-11 06:09:46.325 main[41548:123173162] Program linked: WARNING: Output of vertex shader 'vPos' not read by fragment shader
2020-04-11 06:10:14.184 main[41548:123173162] Unknown event: ClipboardUpdate
2020-04-11 06:10:15.133 main[41548:123176273] Could not load url: file:///Users/timothee/git_clone/nim/temp/nimx2/test/../Resources/cat.jpg
2020-04-11 06:10:15.133 main[41548:123176273] Error: Could not open file: /Users/timothee/git_clone/nim/temp/nimx2/test/../Resources/cat.jpg
Traceback (most recent call last)
/Users/timothee/.nimble_fake13/pkgs/nimx-0.1/nimx/private/worker_queue.nim(40) threadWorker
/Users/timothee/.nimble_fake13/pkgs/nimx-0.1/nimx/image.nim(475) loadResourceThreaded
/Users/timothee/.nimble_fake13/pkgs/nimx-0.1/nimx/assets/url_stream.nim(33) openStreamForUrl
/Users/timothee/.nimble_fake13/pkgs/nimx-0.1/nimx/assets/url_stream.nim(52) :anonymous
/Users/timothee/.nimble_fake13/pkgs/nimx-0.1/nimx/image.nim(487) :anonymous
/Users/timothee/.nimble_fake13/pkgs/nimx-0.1/nimx/image.nim(132) decodeImageDataFromStream
/Users/timothee/git_clone/nim/Nim_devel/lib/pure/streams.nim(398) peek
/Users/timothee/git_clone/nim/Nim_devel/lib/pure/streams.nim(291) peekData
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
other buttons seem to work though!
The crash you're observing might be macos specific. Try running nake
instead.
Regarding the tags, unfortunately they (nimble) don't work for my setup. Firstly you're asking to tag not just nimx, but all of its dependencies. While I want to always stick to latest versions of my libs (unless lockfiles are implemented properly). Mixing constrained and unconstrained version requirements in the dependency graph appears to be broken and results in (sometimes even non-deterministic) conflicts on fresh nimble install. Unfortunately I can't provide clear steps to reproduce as they are pretty involved and require to commit specific stuff to nimble-published packages, and it's just not worth my time at this point.
That said I don't want to interfere with anyone by breaking his nim tests, so I don't mind removing nimx from the important packages.
Another (compromise) option could be for me to create a "nim-ci-stable" branch, which I will keep as stable as possible and nim test system will be aware of it. That doesn't cover nimx dependencies, but should reduce the chance of tests breakage significantly.
quick question so I understand more what's the best option: did you CI catch the above breakage layout_vars.nim(19, 32) Error: type mismatch: got <Variable>
?
No, because kiwi
was committed before nimx
started to rely on this update.
hmm, both nimx and kiwi are under your control so could both use a CI that at least checks for what's being run in testament, eg:
export NIMBLE_DIR=...
nimble install nimx
nim c -r --threads:on test/main.nim
that way, a commit to kiwi that would break nimx wouldn't pass your CI (and therefore wouldn't break nim CI)
could that work?
That might reduce the possibility of breakage, yes.
/cc @yglukhov
latest commit https://github.com/yglukhov/nimx/commit/f5902ce59f27d1f078894427b670d9a01036947a in nimx seems to have broken nim CI again (eg https://github.com/nim-lang/Nim/pull/13926 + 1 other PR broke, but also a fake one that I did just to double check that it's due to nimx), giving: /home/vsts/.nimble/pkgs/nimx-0.1/nimx/view.nim(2, 42) Error: cannot open file: layout_vars
(in this PR that just tests nimx: https://dev.azure.com/timotheecour/timotheecour/_build/results?buildId=1116&view=logs&j=63665ae6-b751-545e-a6c4-24432959da79&t=9b2d96d9-ecd2-5347-871c-a997abe1fc35)
how to reproduce
/Users/timothee/.nimble_fake12/pkgs/nimx-0.1/nimx/view.nim(2, 42) Error: cannot open file: layout_vars import types, context, animation_runner, layout_vars
I'm noticing nimx does not have a git tag, so there's no notion of stable release, which is why things tend to break often.
proposal
nimble install
in important_packages should test latest stable release, not HEAD (which is likely to break often)