antononcube / Raku-Data-Reshapers

Raku package with data reshaping functions for different data structures (full arrays, Red tables, Text::CSV tables.)
https://raku.land/zef:antononcube/Data::Reshapers
Artistic License 2.0
4 stars 2 forks source link

Installation fails on SparkyCI #1

Closed melezhik closed 2 years ago

melezhik commented 2 years ago

Hi!

Installation fails, with such an error:

Install Raku dependencies with: zef install --deps-only --test-depends --/test .
13:54:25 05/05/2022 [repository] :: installing bash, version 0.002001
13:54:35 05/05/2022 [bash: install deps] :: ===> Searching for missing dependencies: Text::CSV, Pretty::Table
13:54:35 05/05/2022 [bash: install deps] :: ===> Updating fez mirror: https://360.zef.pm/
13:55:24 05/05/2022 [bash: install deps] :: ===> Searching for missing dependencies: Slang::Tuxic, File::Temp, Text::Wrap
13:55:24 05/05/2022 [bash: install deps] :: ===> Installing: Slang::Tuxic:ver<0.0.1>
13:55:24 05/05/2022 [bash: install deps] :: ===> Installing: File::Temp:ver<0.0.10>:auth
13:55:24 05/05/2022 [bash: install deps] :: ===> Installing: Text::CSV:ver<0.010>:auth
13:55:24 05/05/2022 [bash: install deps] :: ===> Installing: _:ver<0.0.1>:auth
13:55:24 05/05/2022 [bash: install deps] :: ===> Installing: Pretty::Table:ver<0.0.2>:auth
13:55:24 05/05/2022 [bash: install deps] :: ===> Install [FAIL] for Pretty::Table:ver<0.0.2>:auth: ===SORRY!=== Error while compiling /home/raku/.sparky/projects/raku/.sparrowdo/scm/home#sources/3D8D3D2548BB69EE2C8D1CA7603C838CFAA227E6 (Pretty::Table)
13:55:24 05/05/2022 [bash: install deps] :: Undeclared routine:
13:55:24 05/05/2022 [bash: install deps] ::     wrap-text used at line 1049
13:55:24 05/05/2022 [bash: install deps] :: 

Full report - http://sparrowhub.io:2222/report/386

cc @uzluisf

HTH

Aleksei

melezhik commented 2 years ago

Looks like Pretty::Table issue - http://sparrowhub.io:2222/report/388

antononcube commented 2 years ago

@melezhik Thank you for bringing this issue to my attention!

It seems to me that Pretty::Table is "abandoned." (I install it from GitLab, not from PAUSE / raku.land.)

What is the best way to address those issues?

melezhik commented 2 years ago

@antononcube I'd ask in Raku IRC

antononcube commented 2 years ago

I think fixed this issue by submitting a new version of the package "Pretty::Table".

melezhik commented 2 years ago

Should bump a version of Pretty::Table as well? - it still fails - http://sparrowhub.io:2222/report/531

antononcube commented 2 years ago

I bumped the version. But apparently I fixed another bug (about the slicing method) not the wrap-text related one. Currently, for some reason an old version of "Text::Wrap" is picked.

Here is the new version: https://raku.land/github:jkramer/Text::Wrap .

Here is what I get removing and re-installing "Text::Wrap":

> zef install Text::Wrap 
===> Searching for: Text::Wrap
===> Updating fez mirror: https://360.zef.pm/
===> Updated fez mirror: https://360.zef.pm/
===> Testing: _:ver<0.0.1>:auth<zef:codesections>
===> Testing [OK] for _:ver<0.0.1>:auth<zef:codesections>
===> Installing: _:ver<0.0.1>:auth<zef:codesections>
melezhik commented 2 years ago

So, it not yet fixed, yeah?

here is the report for your repo - http://sparrowhub.io:2222/report/532

antononcube commented 2 years ago

I fixed the "Pretty::Table" issues.

Now I get failures in one of these test files: http://sparrowhub.io:2222/report/706 .

But I do not get these failures when I install that package locally (macOS) or on a certain remote Linux (Ubuntu) machine. What would be the reason? Is there something I can investigate / debug further? (I think I need your help... :) )

melezhik commented 2 years ago

Please enable verbose mode in .sparkyci.yaml and run again - https://github.com/melezhik/sparkyci/blob/main/docs/dsl.md

antononcube commented 2 years ago

I did that -- please take a look:

(I removed the redundant "use Hash::Ordered", but I have not seen a build after that...)

melezhik commented 2 years ago

yeah, underlying sparkyci worker hung, so I restarted it and new build should come up

melezhik commented 2 years ago

The last build shows a cause of the issue - sparrowhub.io:2222/report/763

antononcube commented 2 years ago

Yeah, I saw the errors:

21:39:10 06/27/2022 [bash: run tests] :: # Failed test 'join across inner'
21:39:10 06/27/2022 [bash: run tests] :: # at t/08-join-across.rakutest line 61
21:39:10 06/27/2022 [bash: run tests] :: # expected: $(${:A("a"), :B("n"), :C(5), :D("i"), :E(13)}, ${:A("l"), :B("n"), :C(3), :D("i"), :E(13)})
21:39:10 06/27/2022 [bash: run tests] :: #      got: $(${:A("a"), :B("n"), :C(5), :D("i"), :E(13)}, ${:A("a"), :B("n"), :C(5), :D("i"), :E(13)})
21:39:10 06/27/2022 [bash: run tests] :: Cannot modify an immutable Nil value
21:39:10 06/27/2022 [bash: run tests] ::   in block  at /home/raku/.raku/sources/F7993C3B2856EABC58CC7CF9EADCA6DDB4F03527 (Hash::Merge) line 53
21:39:10 06/27/2022 [bash: run tests] ::   in sub merge-hash at /home/raku/.raku/sources/F7993C3B2856EABC58CC7CF9EADCA6DDB4F03527 (Hash::Merge) line 57
21:39:10 06/27/2022 [bash: run tests] ::   in sub JoinAcross at /home/raku/.sparky/projects/raku/.sparrowdo/scm/lib/Data/Reshapers/JoinAcross.rakumod (Data::Reshapers::JoinAcross) line 93
21:39:10 06/27/2022 [bash: run tests] ::   in sub JoinAcross at /home/raku/.sparky/projects/raku/.sparrowdo/scm/lib/Data/Reshapers/JoinAcross.rakumod (Data::Reshapers::JoinAcross) line 44
21:39:10 06/27/2022 [bash: run tests] ::   in sub JoinAcross at /home/raku/.sparky/projects/raku/.sparrowdo/scm/lib/Data/Reshapers/JoinAcross.rakumod (Data::Reshapers::JoinAcross) line 25
21:39:10 06/27/2022 [bash: run tests] ::   in sub join-across at /home/raku/.sparky/projects/raku/.sparrowdo/scm/lib/Data/Reshapers.rakumod (Data::Reshapers) line 94
21:39:10 06/27/2022 [bash: run tests] ::   in block <unit> at t/08-join-across.rakutest line 62
21:39:10 06/27/2022 [bash: run tests] :: 

Those errors do not happen on my machine (macOS). On what platform SparkyCI executes the tests?

melezhik commented 2 years ago

On alpine Linux, also please see Rakudo version in a init tab, could be a rakudo specific bug 🤔

antononcube commented 2 years ago

Well, it looks ok now: http://sparrowhub.io:2222/report/766 .

I made two changes:

  1. Made the reduce statement to pass !:deep to hash-merge

  2. Put more detailed dependency on "Hash::Merge" (version and api)

I am not sure if 1 is "needed" to pass the tests, but it is more correct from a data wrangling perspective.

melezhik commented 2 years ago

Good!

antononcube commented 2 years ago

@melezhik Thank you for your efforts on SparkyCI, and thank you for bringing my attention to this issue!