-
Notifications
You must be signed in to change notification settings - Fork 38.7k
ci: Avoid failing pull requests destory the appveyor cache #19431
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
Conversation
|
@sipsorcery Any thoughts on this? Also, unrelated, I was wondering how to enable C++17 in appveyor. I.e. how to pass down this option: https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=vs-2019 |
|
@MarcoFalke the appveyor cache is being used to store dependencies not the build results: If the cache is wiped out by setting At one point clcache was used to cache the build results but during my testing I was never convinced it reduced the build time (the project seems to be discontinued now so perhaps I wasn't the only one with that finding). For the C++17 build it will need a compiler option set in |
I have concluded the opposite:
First failure (pull): https://ci.appveyor.com/project/DrahtBot/bitcoin/builds/33856815 Interestingly the first passing build with the invalidated cache took the same time to build as it takes other builds to run, so maybe the cache is not needed after all? |
It is/was a juggling act. On my fork I have an appveyor-force-refresh branch (bit out of date now) that uses
Yes you are right my mistake. As per above I used to have to exit the job early to avoid a timeout in order to get the cache updated.
From a quick look at the appveyor job history there was a spike of jobs rebuilding the The following jobs all use the
These jobs DID rebuild the
So a consistent 15 minute difference if But I know where you're coming from, caches are always a pain precisely because of issues like this. I was obviously a bit melodramatic when I said all builds will fail if this PR is merged. The builds referenced above show they are still passing even when the I guess if the cache is causing issues AND the build can still be done under the appveyor time limit it does make sense to remove it. Waiting an hour for a CI job seems like it's too long but if there's a queue of jobs an extra 15 minutes is not noticeable. It would mean free/personal appveyor accounts are unlikely to ever be able to use this script successfully but that's the case now any way. |
|
Oh, I see. I think we got our max timeout raised by staff at some point, which you can also raise in your forked repo. Lets continue the C++17 discussion in #16684 (comment) Closing this pull for now. |
|
reopen per #19440 (comment) |
|
Going to merge this to see if it helps with #19440 (comment) If not, the cache should probably be removed altogether. |
|
ACK 666686f. |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
…locks from appveyor config 961e667 Remove cached directories and associated script blocks from appveyor CI configuration. (Aaron Clauson) Pull request description: Appveyor CI jobs have been failing in the last 24 hours due to a seemingly corrupted cache, see #19440. It's possible that the appveyor cache issue is related to the[ recent update](https://www.appveyor.com/updates/2020/07/03/) of the Visual Studio 2019 image PR #19431 changes the "save cache or error" to false in an attempt to avoid a failing CI job from potentially corrupting the cache. In theory the only way a PR could affect the cache is if the `vcpkg` install list changed. That happens very rarely and did not happen in the last 24 hours and so was not the cause of the current cache problems. I have done some testing with appveyor build jobs on my own fork and found that installing the `vcpkg` dependencies from scratch and doing a full build can now be done in just under 60 minutes. This is the first time in over 5 months I have been able to build Bitcoin Core on appveyor. Either the new Visual Studio 2019 image has dramatically reduced the build time or appveyor images have had their CPU increased. This PR removes all use of dependency caching from the appveyor CI config. The trade-off is the 15 minutes saved on each build from having the dependencies cached versus the hours maintainers need to spend investigating when the CI jobs start failing. ACKs for top commit: MarcoFalke: ACK 961e667 Tree-SHA512: 788c7efbfe6e044739ec41b08df30e24e26bfe0f31d1f5695e7243222a2eb649a2b5fd0254a9238fd416661dc05f737b0545d39feea7aa0da2236fffd7683a1b

No description provided.