-
Notifications
You must be signed in to change notification settings - Fork 8
Add Job_artifacts endpoints and commands #71
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
base: master
Are you sure you want to change the base?
Conversation
e7f7b30
to
7f37630
Compare
Thanks @arvidj it looks like you're still working on this so I'll just leave some questions here. Exposing the Do you plan on filling in the remaining features for Have you tested the downloading cli using large artifacts? I didn't add a streaming response suitable for downloading binary artifacts so it might not be very efficient. |
Hi, it should be mostly finished but I haven't reviewed the code myself yet.
For the moment, I only needed those three endpoints so I exposed only them. I could do the rest if you prefer.
No, I haven't tried it on large artifacts. TBH, I have a very weak understanding of how to handle binary data efficiently, so I was happy to see that this "just worked" for the smaller files I tried. I'd be glad to do a more robust implementation but I would need some pointers to get started. I'm trying now to download the artifacts of: https://gitlab.com/tezos/tezos/-/jobs/3330701870/artifacts/browse A weird thing I'm noticing is that GitLab intermittently returns
However, once the file downloaded, it was identical to the file downloaded by |
@tmcgilchrist any hints on how to move forward on this? Do you think I need to:
? I see that |
It doesn't seem too hard change the module
this way, the user is not exposed to any I'm not familiar with |
Thanks for the link to the Lwt_streams flaws thread, interesting read. My expectation for how Lwt_streams should work matches the second model from ocsigen/lwt#250 (comment) so it's interesting that it doesn't necessarily hold. I would expect the Lwt_stream usage in this library to involve one writer and one reader when downloading/uploading artefacts, so the objections probably don't apply. I think following a model where you use the |
Adds the
Job_artifacts
module and implements three endpoints from https://docs.gitlab.com/ee/api/job_artifacts.htmlUpdated the
lab
tool with corresponding commands.To do this, I had to expose the
media_type
argument ofAPI.get
.