-
Notifications
You must be signed in to change notification settings - Fork 103
Add CI #123
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
Add CI #123
Conversation
This is awesome! Thank you so much @rikhuijzer ! |
Btw, should it be
i.e. withouth the hyphen, given that https://github.com/TuringLang/TuringTutorials/blob/05d2e4b67545f042bd49c614d1f1e7705a287688/.github/workflows/CI.yml#L51 Also, in that case, maybe we should just call it |
@yebai Can you allow the PR to run GH actions? I don't have the rights. |
Not sure, I don't see an option to enable GH actions for this PR. Maybe we have to merge the PR first to enable GH actions? |
Many thanks, @rikhuijzer - I've merged this PR to enable CIs. Please feel free to create a new PR if there is any additional work. |
Well spotted. The hyphen shouldn't be there. I've updated the first post.
Thank you! I'll keep an eye on it and see whether it's all good now |
Interestingly, something which worked perfectly fine locally fails after 90 minutes. I'll soon open a PR with a patch. |
* Setup basic CI * Add build_folder and notes on runtime * Possibly fix error * It should not pass * Full run * Fix 02 * Disable tutorial 10 * Use threads * Small changes * Update CI.yml * Put original back * Add rm .gitignore * Put original artifacts back * Add verify_logs * Fix typo * Update verify_logs * Add CompatHelper * Small tweaks * Show stacktrace in logs * Change overestimating to underestimating * Fix the failing part of 03
* Setup basic CI * Add build_folder and notes on runtime * Possibly fix error * It should not pass * Full run * Fix 02 * Disable tutorial 10 * Use threads * Small changes * Update CI.yml * Put original back * Add rm .gitignore * Put original artifacts back * Add verify_logs * Fix typo * Update verify_logs * Add CompatHelper * Small tweaks * Show stacktrace in logs * Change overestimating to underestimating * Fix the failing part of 03
This PR sets up CI for building the tutorials. The suggested CI job consists of the following main steps:
Build the tutorials* in parallel, see the section CI output below for an example of how the CI logs will look. This build takes about 60 to 90 minutes. Hopefully, we can speed this up a bit more in the future which will benefit users and developers. Only when a tutorial run fails, the logs are shown in the CI log. Note that, like with tests, the job fails after running the code and not during.
Write the output to a branch called
artifacts
.To get the output to show up on https://turing.ml, we only need to change
to
in turing.ml/make-utils.jl. Note that I haven't removed the artifacts from
TuringTutorials#master
, so we can always switch this line back if the CI job doesn't work for some reason.* @cpfiffer told me that tutorial 10 (differential equations) takes ≈10 hours to complete. Therefore, this tutorial has been excluded from CI for now. My hope is that we can speed the tutorial up and add it later.
Demo
A job has finished in my fork of TuringTutorials: https://github.com/rikhuijzer/TuringTutorials/actions/runs/1040205250.
The output of the run can be inspected at https://github.com/rikhuijzer/TuringTutorials/tree/artifacts-ci. To verify that the CI really updated something, compare https://turing.ml/dev/tutorials/00-introduction/ which shows Julia Version 1.5.3 with 00_introduction.md which shows Julia Version 1.6.2.
A note on tutorial 3
In the run, tutorial 3 (neural networks) was failing on:
with a
BoundsError
. This is a known issue: #59. I've removed the part for now.CI output