-
Notifications
You must be signed in to change notification settings - Fork 411
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
Use GitHub Actions Artifacts to store snapshots instead of S3 #2630
Conversation
Hi! Thanks for giving it a shot! A bit of context on how S3 upload and integration tests work. So integration tests are run and the result (Dokka output) is saved in a temporary folder (you don't know the path in advance, it has a somewhat random name). Then asserts are executed on it, and after that whatever was generated in that temporary folder gets copied to the folder specified in So I believe you still need this piece of configuration:
This should copy integration test results into the folder |
Hi, thanks for the info @IgnatBeresnev .. Now it make sense. dokka/integration-tests/src/main/kotlin/org/jetbrains/dokka/it/S3Project.kt Lines 10 to 14 in 50a3323
We might also want to change this |
Another improvement we want/should make: compress the directory before we upload it to the artifacts. This is how github artifacts upload work. They upload "the artifacts like they are" but before downloading them, they zip it on the file. Therefore, if it's already zipped, they zip the zip on the server... But I guess this is better than having artifact files of 186MBs 😳 |
Hi again :)
Yeah, making it something universal would be ideal! Both the interface and the environment variable. Regarding 186M artifacts, I'm not sure what plan we're on and how much it's going to cost per month as it does look like quite a lot for every single commit. I've asked about it and I'll get back to you with an answer. Anyhow, I think maybe it's not worth uploading There's no
Speaking of AWS, unless there's an alternative with artifacts, I'm afraid it needs to stay. There are a number of use cases for it. Primarily it's used for demonstrating changes to non-technical colleagues or those not involved in Dokka's development. Giving them a link is certainly easier than sending everyone an archive, especially if it's a group discussion :) I was hoping that maybe artifacts could be used in a similar way (maybe they would be automatically hosted on GH pages or available as files via direct paths), but I couldn't find anything like that :( |
I think it's also worth adding a retention period of, say, 2 days for each artifact? This would save us some storage Most likely it won't be needed as often, and I guess you would mostly want to look at the output in some short time after committing to verify your changes. If you forgot or didn't have enough time, you or the maintainers could re-trigger it |
Hi, I changed the I also replaced the I also added the retation days. I think you're right and it shouldn't be available for that long (AFAIK 90 days by default). But regarding pricing. AFAIK GitHub Actions are free for open source projects. According to this issue actions/upload-artifact#9 there is kinda of "no limit to upload". Thanks for the feedback so far. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, I think it's mostly ready! The only thing I'd ask is that stdlib be available in S3 projects as well. So it should be (in no particular order)
S3:
- stdlib
- coroutines
- serialization
- biojava
Artifacts:
- coroutines
- seialization
- biojava
But regarding pricing. AFAIK GitHub Actions are free for open source projects
Yeah, you're right. What confused me initially was that free plans still had storage/minute limits, but apparently it's for private repositories only :\ That being said, I think retention days can be increased to 5/7
Thanks for multiple rounds of review changes :)
I did all the requested changes, but unfortunately I have no clue how to fix the current issue 😞 Can you help me here please?! |
@StefMa Try |
But is the coroutines documentation more heavy than the stdlib documentation? I doubt it. Because stdlib works out of the box, only coroutines has issues... |
Not sure, usually be flaky on Windows. |
Did I fixed it? 🤔 Maybe there was an bug in the previous used gradle version with the deamon which is fixed in this newer version... 🤷♂️ |
Looks like you have :) I was suspecting it was cache-redirector related (it's our internal proxy), and usually it helps to wait it out, but bumping the version is also OK I've started integration tests, let's wait for it to complete and I think it's done! :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you so much for this (especially for many rounds of review), it'll help both maintainers and external contributors a whole lot!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work!
Thank you for the help too. I appreciate the feedback from you. It was really easy to get into the parts of the code where changes were required. |
Fixes #1676
I'm not sure if this is 100% correct.
AFAIK the new trigger events are:
I'm also not sure with the removal of the environment variables.
But I can't see where they are used, so I simply deleted them 🤷
I appreciate any help here, in case I did something wrong.