Skip to content

ci: add windows installer

Tomas Vik requested to merge test-windows-installer into main

Description

This MR uses InnoSetup to create an installer from the glab.exe for x86_64 windows. Then it lets goreleaser release the installer.

The key idea is that we use a separate job to build Windows x86_64 binary - build_windows. Then we wrap this binary in an installer using windows_installer job. And then the release job picks it up and the changed gorleleaser configuration releases the content of bin folder.

Related Issues

Part of #1124 (closed)

How has this been tested?

I tested that the release job works: https://gitlab.com/viktomas/cli/-/pipelines/709343772

I tested using the EXE installer on a Windows computer, and it worked. But because the installer was not signed, I had to wait for Avast antivirus to scan it, and I had to say I wanted to install it even though it was from an unknown developer.

Fun fact, this took me 31 commits to debug even though it's ~30 lines of config in the end.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation
  • Chore (Related to CI or Packaging to platforms)
  • CI
Edited by Tomas Vik

Merge request reports