Skip to content

Add Windows installer building and 64-bit builds to AppVeyor

This is Kart-adapted from the following vanilla merge requests:

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

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:

appveyor-deployer-params

  • 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 package music.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.

Edited by mazmazz

Merge request reports