Skip to content

OBS Minor Release HOWTO

Christian Bruckmayer edited this page May 2, 2017 · 37 revisions

How do we do minor releases?

This is a documentation about updating OBS from X.X.X to X.X.Y (so let's say from 2.8.0 to 2.8.1)

Collect patches for new release

  1. Commit the changes to the git version branch
  2. Add a ReleaseNotes-$VERSION file in the root of the git repository
  3. Mention any important change / bug fix made since the last release in the release notes file

Update obs-server package

  1. Check out the obs-server package OBS:Server:$VERSION:Staging

    osc co OBS:Server:$VERSION:Staging obs-server
  2. Change the versionformat and revision inside the _service file to $VERSION

    <service name="obs_scm" mode="disabled">
      <param name="versionformat">$VERSION</param>
      <param name="revision">$VERSION</param>
      ...
    </service>
  3. osc service disabledrun

  4. Delete the old tarball

  5. osc vc obs-server.changes and paste the ReleaseNotes-$VERSION file

  6. osc addremove

  7. osc ci

  8. Watch the package obs-server to succeed for all distributions

Inside the OBS package OBS:Server:$VERSION/OBS-Appliance

  1. Set the version tag inside the OBS-Appliance.kiwi file to $VERSION

    <version>$VERSION</version>
    

Test the new release with openQA

OBS:Server:$VERSION:Staging appliances are automatically tested by openQA. Make sure the tests succeed!

Test the new release manually (optional)

  1. osc co OBS-Appliance-vmdk
    • (If you use VirtualBox, use vdi format from OBS 2.7 on!)
  2. osc getbinaries images
  3. Start the .vmdk / .vdi file in Virtual box
    • NOTE: if you use VirtualBox remember to configure your network as Bridged Adapter
    • Test that apache & buildservice starts automatically
    • Test your changes work and have not introduced any regression
      • e.g. create an Interconnect to openSUSE.org,
      • Create Admin:home project,
      • Branch from Interconnect openSUSE.org:openSUSE:Tools/build package
      • Add build targets to the project and watch package build

Release the packages

  1. Release the staging project with osc release OBS:Server:$VERSION:Staging

  2. Write a mail like this to our public mailing list.

  3. Tag the released code

    git tag -a $VERSION
    git push upstream $VERSION --tags
Clone this wiki locally