dino icon indicating copy to clipboard operation
dino copied to clipboard

Windows installer build CI

Open Deluvi opened this issue 5 years ago • 2 comments

This PR implements a basic CI using Github actions that builds the MINGW64 Dino version and ships an installer available on the Actions interface. The installer is based on the PR https://github.com/LAGonauta/dino/pull/2 from @mdosch.

To access to the build, click on the small green checkmark on the last commit, click Details and find the artifact by clicking the workflow name on the left. You will have something named dino-installer-windows, which will make you download a .zip file. This .zip file contains the .exe installer. (I cannot unfortunately order Github to not compress the artifact in the .zip)

There is still some stuff to do, I consider the CI as a prototype state for now. Still, you can get the installer from the CI interface and it should work pretty smoothly.

Here is a To-Do list:

  • [ ] Remove the (TEMPORRARY) Change Mingw64 mirrorlist step when the main mirror of the action repo.msys2.org is back online.
  • [ ] Remove the release: false in the step msys2/setup-msys2@v2 eventually, there were some weird issue related to key signature for some reason.
  • [ ] Add on the step msys2/setup-msys2@v2, in the install field the list of the packages to install in the script install-dependencies.sh in order to leverage caching and to speed up the CI build time.
  • [x] Fix the Dino shortcut not having an icon (something to do with dino.nsi).
  • [x] Remove the input directory in Program Files/dino (unecessary directory, something to do with dino.nsi)

Some optional tasks to solve (eventually in a later PR):

  • [ ] Find a way to sign the binary for eventual releases on Windows (might be a good idea to check how the libre software on Windows gets certificates). This is in order to not get bothered by Microsoft Defender.
  • [ ] Remove the .ico and .svg file and perform the downloading and the conversion on the CI.
  • [ ] Add more languages for the installer.
  • [ ] Solve the "Mystery of the Triple Quotes and the Failing Build of the CI": when removing the triple quotes in libdino/src/service/database.vala , the build fails on the CI but not locally (same version of valac and gcc).

Deluvi avatar Oct 05 '20 12:10 Deluvi

You can cut not used icons and locales from GTK? I think need install locales only marked in Installer.

It's can save more free space.

LibreHacker avatar Nov 03 '20 17:11 LibreHacker

@Deluvi: Have you progressed on this PR?

Neustradamus avatar Oct 29 '21 13:10 Neustradamus