Geoffrey, our Continuous Delivery tool for Fyne native applications, is able to integrate with both GitHub and GitLab to trigger a build as soon as you push a new tag to your repository.
This enables a very efficient CD pipeline, as you just need to push your tag from the command line when you feel ready for a release. In only a few minutes for the result of the builds will arrive in your email box. Once you get the email you can verify that the binaries match your QA needs before triggering a deployment if you have opted for self updating binary or share the resulting page.
So let see how to set up this automation. For this we are relying on GitHub and GitLab webhook. Webhooks are https call between servers that are triggered on some event and carry information on the event from one to another. This allows integration between services that don’t need any important cooperation for this to work. At the end, we just need to provide a URL to GitLab or GitHub to the Geoffrey end point along with a secret to secure the event and voila. So to get started, in Geoffrey, click on your project menu and go to “Configure Webhook”.
The next step is to generate the end point and its secret by clicking the big orange button “Generate New Secret”.
This will display a screen that looks approximately like the following.
In another tab go to your project on GitHub or GitLab and navigate to the webhooks settings. Below is the screen you would get for GitHub:
Now you just need to click the copy button in Geoffrey to transfer over the information for the payload URL and the secret. As we only need to get tag creation events, you should select “Let me select individual events.“ and only pick branch and tag creation. Once done you can activate your webhook.
Now let’s tests this by just pushing a tag and checking the result! I hadn’t tagged any version with our previous work with our Fyne MQTT Weather application, so it is a good time to do so:
Now we can switch to the Geoffrey interface and we will instantly see a new build starting:
Et voila, wait a bit for the build to be done and you will be able to get to enjoy your application on all the devices that Geoffrey supports even faster than before!