Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Absence of CI #16

Open
melezhik opened this issue Oct 29, 2022 · 14 comments
Open

Absence of CI #16

melezhik opened this issue Oct 29, 2022 · 14 comments
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers

Comments

@melezhik
Copy link

Hi! I did not find any CI setup. It’d be good to have some unit tests and installation for developer instruction.

@marsupialtail
Copy link
Owner

@melezhik Sorry for the late response. This is a great point. I will be adding some CI later this year.

Contributions welcome 🥇

@marsupialtail marsupialtail reopened this Nov 18, 2022
@marsupialtail marsupialtail added documentation Improvements or additions to documentation good first issue Good for newcomers labels Nov 18, 2022
@melezhik
Copy link
Author

you can use CI service I am building - https://ci.sparrowhub.io/report/1844 , right a build fails

@marsupialtail
Copy link
Owner

That's a bit odd. Seems like a problem with Polars here: https://github.com/pola-rs/polars
I don't know why a "build" would fail, Quokka is pure Python and can be installed with pip. Does your CI service try to build all the dependencies instead of pip installing them?

@melezhik
Copy link
Author

@marsupialtail you can see pipeline logic here - https://github.com/melezhik/quokka/blob/master/sparrow.yaml

@marsupialtail
Copy link
Owner

Yeah as I was saying I don't think it's a Quokka problem:
20:09:39 :: Installed /usr/lib/python3.10/site-packages/sqlglot-10.0.7-py3.10.egg 20:09:39 :: Searching for polars==0.14.* 20:09:39 :: Reading https://pypi.org/simple/polars/ 20:09:40 :: Downloading https://files.pythonhosted.org/packages/86/f7/7c305976fe2a99c6d8f7a6295866c2227a04d22bcc9baebf3103629c2648/polars-0.14.29.tar.gz#sha256=5e1cde8d6f12b43619a7ac7b04bef03a00cfcd8d116fc2827572298a8fb754c4 20:09:41 :: Best match: polars 0.14.29 20:09:41 :: Processing polars-0.14.29.tar.gz [task stderr] 20:09:41 :: /usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. 20:09:41 :: warnings.warn( 20:09:41 :: /usr/lib/python3.10/site-packages/setuptools/command/easy_install.py:156: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. 20:09:41 :: warnings.warn( 20:09:41 :: zip_safe flag not set; analyzing archive contents... 20:09:41 :: pyquokka.__pycache__.utils.cpython-310: module references __file__ 20:09:41 :: /usr/lib/python3.10/site-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: is an invalid version and will not be supported in a future release 20:09:41 :: warnings.warn( 20:09:41 :: error: Couldn't find a setup script in /tmp/easy_install-riatnk74/polars-0.14.29.tar.gz 20:09:41 :: task exit status: 1 20:09:41 :: task tasks/install FAILED The spawned command 'docker exec -i sparrow-worker sh -l /var/.sparrowdo/env/install/.sparrowdo/sparrowrun.sh' exited unsuccessfully (exit code: 1, signal: 0) in block <unit> at /home/sph/.raku/resources/57C38AFDF922EB0C43584FF5F701A03850B5346F line 13 in sub MAIN at /home/sph/.raku/bin/sparrowdo line 3 in block <unit> at /home/sph/.raku/bin/sparrowdo line 1
I wonder if you can reproduce this just trying to pip install polars on your CI environment?

@melezhik
Copy link
Author

melezhik commented Dec 2, 2022

Looks like the problem with polars - https://ci.sparrowhub.io/report/1950 , however I don't this error when run pip3 install -e .

@melezhik
Copy link
Author

melezhik commented Dec 3, 2022

finally after switching to Debian installation went well, however example itself still fails - https://ci.sparrowhub.io/report/1989

@marsupialtail
Copy link
Owner

The report seems to suggest you are missing the input file it is trying to read from?

@melezhik
Copy link
Author

melezhik commented Dec 8, 2022

Yes. But I think I just need to create it in my pipeline… if would you give me an example of this file , this would be cool

@marsupialtail
Copy link
Owner

This describes the data you would need. I'm a bit confused because nowhere in the code it explicitly uses lineitem.tbl.named. I think you are just running the snippet in the README. Can you try some example on this link: https://marsupialtail.github.io/quokka/simple/. That also describes where you can get the data

@marsupialtail
Copy link
Owner

By the way your Sparrow CI thing looks dope. Does it work with Github actions? I am trying to fulfill my promise of adding in CI by the end of the year. Two features that would be important to Quokka are:

  • Distributed testing. Quokka is like Spark, so you need to test on multiple machines. This can be done by running some local script that sets up an AWS cluster, though how you manage the AWS credentials is going to be hard. You don't want that public.
  • Failure testing. Quokka's fault tolerance testing needs to randomly shut off some machines as they are running. Easiest way to do this is by running ray stop on a running worker machine when it's executing a query.

@melezhik
Copy link
Author

melezhik commented Dec 9, 2022

By the way your Sparrow CI thing looks dope.

Thank you

Does it work with Github actions?

No. There is no need for that. User integrate using SparrowCI directly: sing in with your GitHub login and your repo with sparrow.yaml in the root, that is it

This can be done by running some local script that sets up an AWS cluster, though how you manage the AWS credentials is going to be hard. You don't want that public.

I get you. SparrowCI allows users to upload their secrets and use them in pipeline - https://github.com/melezhik/SparrowCI#secrets-management

@melezhik
Copy link
Author

melezhik commented Dec 9, 2022

This describes the data you would need. I'm a bit confused because nowhere in the code it explicitly uses lineitem.tbl.named. I think you are just running the snippet in the README.

Can you try some example on this link: https://marsupialtail.github.io/quokka/simple/. That also describes where you can get the data

I will do and let you know how it goes ...

@marsupialtail
Copy link
Owner

Well the README doesn't look too reassuring lol: WARNING! This feature is still being tested, although security is address seriously (*) in SparrowCI service, don't use SparrowCI secrets to store your credit card information and other valuable data. You've been warned )))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants