Azure Pipelines build time too long

29 views
Skip to first unread message

Aditya Singh

unread,
Jun 5, 2020, 1:57:54 PM6/5/20
to checker-framework-gsoc
Hello everyone!

I have been using Azure pipelines to make sure my commits pass all the build tests of the checker framework. However, it takes ridiculous amount of time to run. My commit of just one test file addition and 1 line change took an excruciating 6 hours for Azure to ensure it was correct. This taken time is incredibly inconvenient, especially when there is a minor mistake (like no new line at end or formatting problems), and I have to wait for 6 hours again.

Interestingly enough, when I create a pull request to typetools, it takes only under an hour for my program and the following commits to pass all the checks. So the most efficient way I have to check my program is to make a pull request, pass it through all the checks and then correct it via commits, which leaves a very messy commit history in the request. I don't understand whether this is a system problem or something that I am doing wrong.

Any help or advice over the issue would be greatly appreciated.

Thanking you,
Aditya Singh

Martin Kellogg

unread,
Jun 5, 2020, 2:25:04 PM6/5/20
to Aditya Singh, checker-framework-gsoc
My usual workflow for making changes to the Checker Framework takes this into account by testing anything I expect might fail locally first, then making a pull request to check if there's anything that I overlooked.

For example, if I'm making a change to the Index Checker, I would run `./gradlew IndexTest` before I push anything to a PR to make sure I haven't broken anything. (Depending on what you're doing, the local test(s) you run will be different.) Once I see my changes working locally, I make the PR (and wait an hour, as you noted) to make sure I didn't screw up anything that's unrelated to the change I'm making. Since I already know that my change will work because I tested it locally, I can move on to something else while waiting, and come back to check it later. I (try to) wait to request a review on the PR until after CI passes, to make sure everything is working.

When merging PRs, we always squash-and-merge - meaning that the messy commit history will be removed, and there will be one commit for each pull request (that also encourages us to keep pull requests small!). So don't worry about commit history getting messy!

Martin

--
You received this message because you are subscribed to the Google Groups "checker-framework-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to checker-framework...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/checker-framework-gsoc/e3314a18-f3ce-4d96-bc5c-efe95afbce88o%40googlegroups.com.

Aditya Singh

unread,
Jun 6, 2020, 2:04:58 AM6/6/20
to checker-framework-gsoc
Hi Martin!

Thank you for your reply. I will keep this approach in mind while making my commits for the Checker Framework.

However, I was wondering why Azure Pipelines takes so much time when building locally but not when committing to typetools.

Thanking you,
Aditya Singh
To unsubscribe from this group and stop receiving emails from it, send an email to checker-framework-gsoc+unsub...@googlegroups.com.

Werner Dietl

unread,
Jun 7, 2020, 1:45:39 PM6/7/20
to Aditya Singh, checker-framework-gsoc
Hi Aditya,

can you clarify what you mean when you say "Azure Pipelines takes so
much time when building locally"?
Either you're building locally, where your computer's speed will
influence the build time, or you're building on Azure Pipelines
remotely.
Do you mean that the Azure Pipeline remote build takes longer when it
is testing the build of a branch in your personal fork?

Thanks,
cu, WMD.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to checker-framework...@googlegroups.com.
> --
> You received this message because you are subscribed to the Google Groups "checker-framework-gsoc" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to checker-framework...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/checker-framework-gsoc/f1f2bab4-ab11-4743-958f-0bda3a90cfe3o%40googlegroups.com.



--
https://ece.uwaterloo.ca/~wdietl/

Michael Ernst

unread,
Jun 7, 2020, 1:55:42 PM6/7/20
to Werner Dietl, Aditya Singh, checker-framework-gsoc
Is your Azure project public?
When I browse to https://dev.azure.com/aditya390402/c3095354-2a02-4738-994b-96f935548b0e/_build/results?buildId=13 I get "you do not have access".  Azure Pipelines gives fewer resources to non-public projects.

Mike

Aditya Singh

unread,
Jun 9, 2020, 7:01:42 AM6/9/20
to checker-framework-gsoc
Forwarding it to our group as well.

Thanks!
Aditya Singh.

---------- Forwarded message ---------
From: Aditya Singh <aditya...@gmail.com>
Date: Mon, Jun 8, 2020 at 8:39 PM
Subject: Re: Azure Pipelines build time too long
To: Michael Ernst <mer...@cs.washington.edu>
Cc: Werner Dietl <werner...@uwaterloo.ca>


Hi,

So I checked my Azure project and it was indeed private.
I changed it to public and now my project is now taking less than an hour to build.

Thank you very much!

Aditya Singh

Michael Ernst

unread,
Jun 9, 2020, 10:01:13 AM6/9/20
to Aditya Singh, checker-framework-gsoc
To prevent such problems in the future, do the instructions at https://rawgit.com/typetools/checker-framework/master/docs/developer/developer-manual.html#ci need to be changed?  Or was the problem that you not follow the instructions correctly?

Mike

Aditya Singh

unread,
Jun 9, 2020, 12:47:32 PM6/9/20
to Michael Ernst, checker-framework-gsoc
Hi Dr. Ernst,

The instructions on the developer manual are correct.
It seems I missed a step and it was an error on my part. Thank you once again for helping me.

Regards,
Aditya Singh.

Michael Ernst

unread,
Jun 9, 2020, 1:37:14 PM6/9/20
to Aditya Singh, checker-framework-gsoc
Aditya-

No problem; I'm glad everything is well now (with your CI setup and with the instructions).

Mike
Reply all
Reply to author
Forward
0 new messages