Reporting Filters and Self-Hosted support for Continuous Integration

Today, based on some new feedback regarding the SCM integration, we have some news for those of you that enrolled in our beta program

We started off the continuous integration between OBS and GitHub/GitLab in May 2021, then made some improvements in June 2021. We introduced advanced features like reporting filters and support for self-hosted SCM together with a list of common pitfalls in July 2021 and in August 2021, we continued with two new steps and a UI for tokens. In September 2021, we supported more actions for pull/merge requests, improved the UI for tokens, and added support for push events and a rebuild step. In November 2021, we presented the user documentation and further improvements for the UI for tokens and workflow runs and more. We worked on UI and reporting improvements in February 2022, followed by a step to trigger services and the improvement of the error messages in April 2022. Afterwards, we clarified the separation between incoming webhooks and status reports in May 2022, then sharing tokens was made possible in June 2022. Later in July 2022, we added support for the SCM Bridge feature. Around September 2022, the feature was considered stable, so we enabled it for all the OBS users, but that wasn’t the end; later in September we reached the milestone of supporting Gitea on top of GitHub and GitLab. In December 2022 we introduced placeholder variables in addition to a customizable configuration file location. And now, we bring notifications for failed workflow runs.

This feature is documented in the SCM/CI Workflow Integration chapter of the OBS User Guide.

Limit what is reported to the pull/merge request

Some of your OBS projects probably have dozens of repositories and architectures enabled. But maybe you just want to have some of them being reported back to the SCM as status check to the pull/merge request. Therefore you are now able to limit repositories and architectures using the new filters features.

Filters

Filters are the way to limit which build results are being reported back to the SCM. Keep in mind that Filters are going to evolve to support many other cases, but for now, we reduced the scope to architectures and repositories only.

In the workflows.yml you can use the following syntax to accomplish that:

workflow:
  steps:
    - branch_package:
        source_project: OBS:Server:Unstable
        source_package: obs-server
  filters:
    architectures:
      only:
        - x86_64
    repositories:
      only:
        - openSUSE_Factory
        - openSUSE_15.1
        - SLE_15_SP1
        - SLE_15_SP3

only and ignore are your tools to control what and what not are going to be reported back as status check. Only has precedence over ignore, so if both are defined, ignore is not considered.

Support Self-Hosted instances from gitlab and github:

After collecting feedback, we prioritized the support to Self-Hosted instances from Gitlab and Github. From now one, you are able to configure your Self-Hosted SCM with OBS (as long as the connectivity works, OBS will be able to interact with that SCM).

How To Give Us Feedback

There are two ways to reach us:

Please note that we favor GitHub to gather feedback as it allows us to easily keep track of the discussions.