Add Windows installer building and 64-bit builds to AppVeyor
This is Kart-adapted from the following vanilla merge requests:
- https://git.magicalgirl.moe/STJr/SRB2/merge_requests/440 - MinGW64:Target nocona for 64-bit builds [revision]
- https://git.magicalgirl.moe/STJr/SRB2/merge_requests/442 - Add 64-bit job to Appveyor
- https://git.magicalgirl.moe/STJr/SRB2/merge_requests/443 - Add Windows installer building to Appveyor
-
Also, CircleCI runs test builds successfully by dummying outre-enabledERRORMODE=1
-- see result
This allows AppVeyor to succeed with test builds and also create Windows installer packages, both 32-bit and 64-bit. It's a small way to automate the release pipeline.
This specific merge contains links to v1.0.2 assets, which obviously I don't have -- therefore, the installers won't be correct until those assets are available.
See kart-public-appveyor-improvements-test
for a working copy that links v1.0.1 assets (with current master
code.) Installers from that branch are linked below:
Results
Results and artifacts: https://ci.appveyor.com/project/mazmazz/kart-public/builds/21296978
- 32-bit installers: https://ci.appveyor.com/project/mazmazz/kart-public/builds/21296978/job/l7wj0tap53xk9e40/artifacts
- 64-bit installers: https://ci.appveyor.com/project/mazmazz/kart-public/builds/21296978/job/1i8shb07965e6cck/artifacts
EDIT: MD2 are not in these installers, but that's a trivial issue because those can just be added to the asset archives.
Docs from Vanilla Merge
This adds Windows 7-zip installer and patch building for the 32-bit and 64-bit SDL builds on AppVeyor. Read full documentation here.
Asset WADs, DLLs, and extra files are grabbed from a series of 7-zip archives (see full list here) and then packaged accordingly.
Installer building will only be triggered under these conditions:
-
DPL_ENABLED
must be set, and - A branch name containing
deployer
is pushed, or - A release tag is pushed and
DPL_TAG_ENABLED
is set.
Whether or not installers are triggered, the normal test builds will be run. The usual EXE-only artifacts are not affected by this merge.
Parameters to set on the project settings:
-
DPL_ENABLED
- Must be 1 to enable installer building -
DPL_TAG_ENABLED
- If set to 1, will trigger installer building when a release tag is pushed -
ASSET_FILES_OPTIONAL_GET
- If set to 1, will download and packagemusic.dta
. This is forced to 1 if a release tag is pushed. -
PACKAGE_PATCH_DLL_GET
- If set to 1, will include DLLs in the patch build, a la 2.1.21+ -
ASSET_CLEAN
- If set to 1, will clear the asset archives from the AppVeyor cache so that they can be re-downloaded.
This only implements installer building; FTP and endpoint uploading are not implemented. Instead, you can simply download the artifacts from the AppVeyor jobs.