Hey Ansgar,
I don't get why people are so eager to do everything on (Microsoft!) Github.
I see your point, believe me!!
The thing is that GitHub has been the de-facto hub for all things open source.
I guess we can say that GitLab the the close second for people with an acute allergy to anything Microsoft.
For the past 5 or 6 years I've been investing quite a lot of time in both git and GitHub things.
I started quite the noob, quite like you now, and got better as time progressed.
While I was doing that I also got quite involved in Free Pascal. To the point where I saw the need to actually dive head-in into TypeScript in order to make an action that installs Lazarus from the Source Forge install binaries.
I called it setup-lazarus. And that's what I'm using to automate all things related to Free Pascal code CI/CD.
This allowed some very wide spread projects to use it, like Castle Game Engine, PasDoc and DoubleCMD.
The release process is currently a bit cumbersome but works quite stable, even after moving heidisql.com from a Windows (build) server to a Linux based webpack.
For the Delphi version, or the Lazarus one?
Download traffic is not an issue with modern hosting providers.
Kewl!! Noted :D
Well, let's give it a try.
Awesome sauce !!
I must admit there seem to be some advantages compared to the my home brewn classic half-automated process. Well I'm not the youngest man as well, which is one aspect. Please note I'm a complete noob with Github Actions.
Well, the entire premise of the GitHub actions is to facilitate Continuous Integration(CI) and Continuous Deployment(CD) for any project small or large. Because you can use other actions, and there's a ton of them, in conjunction with bash script on the repo, or even bash commands on the actual workflow, it's quite powerfull!!
I'm 55, so yeah, I count myself of the not-that-young crowd myself ;)
While you may be a complete noob in terms of GitHub actions, the setup I got on my forked repo really gives a good introduction to how things work. I tend to learn quite better if I'm looking at an example. And what I did is rather easy to follow and understand. I may be wrong because I'm biased due to the time I've spent on it. But still, it's not that hard.
Does Github support code-signing the Windows executable with a paid Authenticode certificate?
I'm guessing that if your solution requires an USB dongle, then we can't really automate that.
GitHub does allow for signing, if we use the correct service that can be reached via a Web API.
GitHub repos have a section on the settings to store secret stuff, like a key for a signing service.
I guess we can investigate that if or when you decide to ditch Delphi and go Lazarus for the Windows version.
My goal, at the moment, is to have the Linux version automated, with both GTK2 and QT5 being automatically available on every release on the lazarus branch.
We can always discuss what are our options for the Windows/macOS side in the future, since I'm guessing that Apple is now quite fond of code signing also :(
One more thing: I would rather invite you to the official HeidiSQL project on Github than picking things up I don't fully understand. I think your changes should currently not break the existing release processes. And that way your effort would be more likely used in production at some point. Or would you prefer your own repo?
I would be DELIGHTED and frankly quite humbled for this opportunity!!
I don't think I qualify for the code itself, but I'll surely take the role of GitHub technician, so you don't have to worry about that.
I can also give you A TON of pointers on the Lazarus side.
I'm guessing that you also have less experience there than you have with Delphi :)
Cheers,
Gus