-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Additional fixes to Appveyor build #46220
Conversation
That won't do anything. First you need to run |
Yeah I tried that with the second and realized wasn't in the right directory; I'll probably test this in a clone instead of on the official repository xP The packages do seem up to date so that might not be the issue. |
You can create a branch and build it on Appveyor without creating a PR if you add your repo to Appveyor. |
Also see microsoft/vcpkg#15087 for |
Was able to set up Appveyor on my own fork and test things--the compiling appears to work on my end, so I'll go ahead and reopen with the new changes. I have a feeling caching may be one of the issues the current build is running into (?); will have to check to see. |
A solution is available for the Appveyor build error outlined (requires three separate commits each time the cache needs to be updated, unfortunately). Depending on how important the appveyor functionality is, this can be done regularly when it fails to build, or possibly not at all if its functionality isn't that important. |
If it is only about cache - it is not something that requires in-repo changes. Build cache can be cleared without creating pull requests by other means - https://www.appveyor.com/docs/build-cache/#cleaning-up-cache. |
Yup, you can probably skip the first step of cleaning the cache by calling the API to clear the cache as shown in the link you posted instead of forcing a new build. You'll still need to repopulate the cache without the build timing out though, so steps 2 and 3 might still be necessary. |
Let's just switch to x86 for the start - #46352. |
Let's close it for now (until #46352 works for us). |
Summary
SUMMARY: Bugfixes "Testing fixes to Appveyor build; EDIT: Solution outlined in solution section below"
Purpose of change
The current Appveyor build fails when unable to find the vcpkg files in the currently existing cache.
Disclaimer: This change will not fix the Appveyor build permanently, but is meant to outline the process necessary to update appveyor.yml to make sure the build compiles. This requires three steps: Clearing the cache, repopulating the cache, and then building. This probably only needs to be run when vcpkg packages are updated substantially, and doesn't have to be run constantly.
Describe the solution
Working off the following code (included with the changes from this commit):
Appveyor.yml
I. Clear existing cache - Time ~20 sec
From: https://ci.appveyor.com/project/NorseFTX/cataclysm-dda/builds/36952667
II. Force cache update - Time ~20+ min
Example: https://ci.appveyor.com/project/NorseFTX/cataclysm-dda/builds/36952762
III. Enable Build - Time ~60+ min
Example: https://ci.appveyor.com/project/NorseFTX/cataclysm-dda/builds/36952961
Unfortunately, from the appveyor build cache documentation, there is no (?) way to push a cache update if a build times out. It is only possible upon error or upon successful build (neither of which a time out counts as).
Describe alternatives you've considered
This is a log of the troubleshooting process, for your perusal if you are interested.
Issues:
Solution:
Solution 2:
Log of successful compile on my fork:
https://ci.appveyor.com/project/NorseFTX/cataclysm-dda
Appveyor Build Cache documentation:
https://www.appveyor.com/docs/build-cache/
Appveyor Environmental Variables list:
https://www.appveyor.com/docs/environment-variables/
Testing
This was tested on a fork of the Cataclysm-DDA repository, with the build history visible here:
https://ci.appveyor.com/project/NorseFTX/cataclysm-dda/history
Additional context
This would probably not be an issue if Appveyor allowed more than 2 hours for compiling before a timeout occurs.