GitHub are going to be removing their windows-2016 images in March 2022,
and there's a brownout today. I've been using MSVC 2019 locally for a
while (a year?) without any problems, and LOOT itself is now using MSVC
2019.
This means that anything linking to the binaries needs to use MSVC 2019
or newer. The details are here:
<https://docs.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170>.
LOOT no longer uses Git to keep its copies of the masterlists up to
date, so this functionality is no longer needed. The removed API items
are:
- UpdateFile()
- GetFileRevision()
- IsLatestFile()
- libgit2_category()
- GitStateError
Older versions of Sphinx don't work with whatever the default version of
Python is on GitHub Actions, and never versions of Sphinx need a newer
version of Python.
Also update the RTD theme and Breathe while I'm at it.
Bintray will be shut down in May, and JFrog suggest migrating to
Artifactory. The free tier offers 2 GB of storage, which is much
less than what we use on Bintray, so only store one build per
branch to help avoid running out of space.
Bintray will be shut down in May, so we need to find another artifact
store before then.
GitHub Actions is one option, and allows builds to store artifacts
for up to 90 days, with apparently no storage size limit for public
repositories. 90 days is good enough to temporarily host builds for
loot/loot to use for integration testing before release.
The downside is that you need to be logged into a GitHub account in
order to download a build artifact uploaded to GitHub Actions.
Building cbindgen takes a few minutes on Windows, so avoid that by using
the version included in the GitHub Actions runner.
The version include in the runners isn't the same as what the build
expects, but hopefully the differences aren't significant.
AppVeyor is breaking my builds because I can't create any more artifacts
because I've hit the limit, but there's no way to have it not store
artifacts or to manually delete artifacts...
This also updates Boost from 1.67.0 to 1.69.0 due to differences between
the AppVeyor and GitHub Actions build environments.