Skip to content

SUSE/cf-obs-stacks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status cf-obs-stacks

Here you can find all specs used to build our stacks and metapackages in OBS.

This repository is pulled directly from OBS, and the changes applied on master are synchronized from OBS and relevant packages are built automatically.

  • metapackages/* - contains all the build-requires metapackages for each stack we support (SLE12, SLE15
  • images/kiwi/* - contains all the kiwi specfiles used to generate the stack images (SLE12, SLE15

New packages

To create new packages that are automatically triggered from the ci, first create the package and add a _service file of this form:

<services>
  <service name="obs_scm">
    <param name="extract">images/kiwi/sle12/cf-sle12.kiwi</param>
    <param name="extract">images/kiwi/sle12/config.sh</param>
    <param name="url">git://github.com/SUSE/cf-obs-stacks.git</param>
    <param name="revision">master</param>
    <param name="scm">git</param>
    <param name="changesgenerate">enable</param>
    <param name="changesauthor">mail@somewhere.com</param>
  </service>
</services>

Push the specfiles to the git repository and then create a new token with osc osc token --create <PROJECT> <PACKAGE>.

The token is consumed by the OBS_TOKENS env variable (which for automatically syncronization needs to be specified inside the Travis settings).

To test the triggers locally, you can run trigger_obs_services.sh:

OBS_TOKENS="token1 token2" ./ci/trigger_obs_services.sh

Automatic Synchronization

Seems automatic synchronization from OBS is not possible anymore since Github Services were deprecated.

To overcome this limitation, a Travis job is fired on each push of the master branch. In the travis settings there is set a OBS_TOKENS env var which contains the tokens relative to the project/packages that needs to be triggered.

The travis job calls an OBS servicerun on the packages refered by the tokens. When a OBS servicerun is triggered, OBS will pull the sources declared in the _service file and trigger a build if needed.

Testing changes

Create a branch or a fork and do your changes there.

To test the changes, branch also the relative package in OBS and edit the _service file to point to your testing repository where the specfile are (edit <param name="url">git://github.com/SUSE/cf-obs-stacks.git</param> and <param name="revision">master</param> accordingly).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages