Build Sailfish OS application using GitHub Actions or GitLab CI

Yep. It builds the apps for every commit but for a tag that starts with v (as in v1.0.0 etc.) it also creates a release where it attaches the built apps.

1 Like

Ok, thanks! Nice build file. I need something in between :slight_smile: Iā€™m one of those people that pushes too much :slight_smile: Need to look at the Action docs.

you can create second workflow to build and publish release and run it manually

I just read through the actions docs. I came up with:


name: Build RPMs

on:
  release:
    types: [published]
    tags:
      - '1.1*'
    branches:
      - master

Where the tag condition is just used to attach the rpms to the release. Iā€™m surprised you can do all this in the free tier!

Now, to build a webhook to get obs chum:testing to fire a rebuild :slight_smile:

1 Like

@Rikudou_Sennin, thank you for sharing your improvements over Coderusā€™ original version.

I went the opposite direction and overhauled the CI workflows with the intent to streamline them.

My current examples are:

1 Like

I never was able to successfully utilise web-hooks at the SailfishOS-OBS (I tried about a year ago).
Did you, or anybody else?

If not, it may make sense to ask @lbt as the principal SailfishOS-OBS administrator, if web-hooks currently should be working from his perspective.

Webhooks should work with something like here:

  <service name="webhook">
    <param name="repourl">https://github.com/sailfishos/gst-plugins-base.git</param>
    <param name="branch">master</param>
  </service>

And configure https://webhook.sailfishos.org/webhook/ as git-hub/lab/berg hook.

See @lbtā€™s explanation here Community OBS - Refurbished and re-floated - #22 by lbt

Maybe the https://webhook.sailfishos.org/webhook does not work anymore (as build.sailfishos.org doesnā€™t now, either), and you need to set it up as https://webhook.merproject.org/webhook :-S :question:

1 Like

Thank you!

BTW, both work fine (in the browser and as webhook target), https://webhook.sailfishos.org/webhook/ and https://webhook.merproject.org/webhook/, but omitting the trailing slash (/) made me curse for half an hour.
In contrast to that, out of https://build.sailfishos.org/ and https://build.merproject.org/ only the latter works for many months, and both https://bugs.sailfishos.org/ and https://bugs.merproject.org/ are unreachable for long.

At the SailfishOS-OBS it is sufficient to provide the OBS-user cibot with maintainer privileges on package level, not necessarily on project level (if you want that), either by clicking in the User tab or inserting <person userid="cibot" role="maintainer"/> in the Meta tab right after the description section.

As nobody has written anything about the format in which events should be sent to the SailfishOS-OBS webhook interface, yet: ā€œWWW form URL-encodedā€ (x-www-form-urlencoded) works (which is the default at GitHub), but JSON needs more testing to be sure. This is useless side info for most, but if one fails to utilise the webhook mechanism and is desperate to determine why (like me for 30 minutes), that is good to know.
Edit: Jollaā€™s documentation was vastly enhanced since i looked at the topic webhooks long ago and covers that well: Webhooks | Sailfish OS Documentation

2 Likes