Skip to content

OBS Minor Release HOWTO

Eduardo J edited this page Aug 31, 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 inside the _service file to $VERSION (e.g. 2.8.1). Leave the revision value as the branch name (e.g. 2.8)

    <service name="obs_scm" mode="disabled">
      <param name="versionformat">$VERSION</param>
      <param name="revision">2.8</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 as it is already done in the openQA tests)

  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

    • Wait until the staging project gets released.
  2. Write a mail like this to our public mailing list.

  3. Tag the released code

    git fetch upstream
    git checkout upstream/$VERSION
    git tag -a $NEW_VERSION
    git push upstream $VERSION --tags
Clone this wiki locally