dino
dino copied to clipboard
Windows installer build CI
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 mirrorliststep when the main mirror of the actionrepo.msys2.orgis back online. - [ ] Remove the
release: falsein the stepmsys2/setup-msys2@v2eventually, there were some weird issue related to key signature for some reason. - [ ] Add on the step
msys2/setup-msys2@v2, in theinstallfield the list of the packages to install in the scriptinstall-dependencies.shin 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
inputdirectory inProgram Files/dino(unecessary directory, something to do withdino.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 ofvalacandgcc).
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.
@Deluvi: Have you progressed on this PR?