Skip to content

OBS Minor Release HOWTO

Victor Pereira edited this page May 14, 2020 · 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).

For the rest of this document:

  • $VERSION: refers to 2.8
  • $NEW_MINOR_VERSION: refers to 2.8.1

Collect patches for new release

  1. Commit the changes to the git version branch.
  2. Add a ReleaseNotes-$NEW_MINOR_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 version inside the _service file to $NEW_MINOR_VERSION (e.g. 2.10.4). Leave the revision value as the branch name (e.g. 2.10):

    <service name="obs_scm" mode="disabled">
      <param name="version">$NEW_MINOR_VERSION</param>
      <param name="revision">2.10</param>
      ...
    </service>
  3. osc service disabledrun to run locally the disabled services: obs_scm and bundle_gems.

  4. osc vc obs-server.changes and paste the ReleaseNotes-$NEW_MINOR_VERSION file.

  5. osc addremove.

  6. osc ci.

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

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

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

    <version>$NEW_MINOR_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:
      • Create an Interconnect to openSUSE.org.
      • Create the 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_MINOR_VERSION
    git push upstream $NEW_MINOR_VERSION
Clone this wiki locally