-
Notifications
You must be signed in to change notification settings - Fork 22
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
Improved performance of the github workflow #236
Conversation
We gotta review this one together with #238 |
@mauricioaniche I'm happy for you to just review and this one, and then I'll incorporate the changes in my branch. |
@martinmladenov can you work on this one? |
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.
This looks good to me!!
@martinmladenov any thoughts? If not, feel free to merge it!
@alexcojocaru2002 There's a small conflict now, as we've added checkstyle to the build. I think it should run before the tests, and if it breaks, we can fail fast the build. Can you make this change? |
Sorry for the late reply, I am in vacation for a bit as well 😅 I will update the changes based on the checkstyle today or tomorrow 👍 If there are any other things to add please let me know |
What's the difference between |
Also @martinmladenov @mauricioaniche has there been any changes to the weblab tests ? They seem to fail now due to a missing dependency, I will see if I can fix it but maybe something changed in the last PRs that I should be aware of and I was not able to check😅 |
All tests should be passing! Maybe rebase with master ? |
I fixed it locally by doing a clean install before the weblab tests, I am not sure why... I will try to see if they pass without it first. I already had a rebase with master from Martin |
Can I get a quick approval on the workflows to test if they work here ? I think if they do not work adding the clean install step that I deleted earlier only for the weblab tests would be a not-so-bad alternative. Even with that step, the runtime of the workflow is similar (because the assignment tests take longer than weblab tests + clean reinstall). Ideally, a check on why this is required only for the weblab tests would be best but as a quick fix the above works. The only thing I see is that the dependencies cant be found anymore |
Pipeline running! |
The pipeline gives some errors regarding the ContextDirector / Builder in the AndyOnWeblab class, interesting 🤔 . |
I did the original clean install -Dskiptests for shorter time, it seems to work now 👍. Sorry for the large number of commits, I had to test different small changes |
Great to hear it works! @martinmladenov can you give it a final look and merge ? |
I just changed the and now the pipeline fails. Seems like it can no longer resolve dependencies for some reason? |
Is there a way to reduce code duplication in the workflow configuration file? I see that every task has the steps "Checkout the repository", "Set up JDK 17" and "Cache Maven packages". Is there a way to define them only once in the file and make them apply to all tasks? |
One of the steps in the Docker task is called "Run the reference solutions of all assignments and verify the scores are 100/100". This is no longer correct, it should say "some assignments" or something similar. |
Everything seems green here! Shall we merge this one? |
It seems to pass now. Not sure what happened there. We can merge, but I left some more comments: see above. |
I'll turn those comments into discussions so that they show up more clearly, this PR is very long now. |
We can reduce duplication in another MR to! I'd say we merge this one as soon as pipeline passes! |
We also need to change the repository configuration before we can merge this one. I'll do it now. |
@mauricioaniche That is so weird. Jobs seem to fail in the fork but pass on our repo https://github.com/alexcojocaru2002/andy/actions/runs/5615314967/job/15215354923 |
Unfortunately github workflow is a bit behind compared to its competitors when it comes to code duplication. There is not option to use yaml anchors which would ve made this way shorter in terms of code duplication. I thought of the file option but there is no way to take the environment of a job and continue it that i know of. |
Can be done in the one that should fix windows for pipeline, maybe, since it s going to add even more duplicated code |
I see, thanks for the explanation and for your help with improving our CI! :) |
Closes #214
In this merge request only one random test is run on docker from each category (seen in the python script) and the workflow has been split in one job for each category to improve performance.