User Tools

Site Tools


devdocs:finalize_release_process

This is an old revision of the document!


Release Process

Updated November 13, 2018

The following is the process for finalizing a new release of Cucumber Linux

The first part of the release process differs depending on whether you are releasing from a build server of a bootstrap server. If you are completing a Cucumber Linux from Scratch build, then you are releasing from a bootstrap server. Otherwise, you are releasing from a build server.

Start out by following the steps in the appropriate section. Once you have completed, follow the steps in the “Mutual Steps” section to complete the release.

If Releasing from a Build Server

  1. Update the information in ports/distribution-release to reflect the new release version
  2. Rebuild the lsb-info package.

If Releasing from a Bootstrap Server

  1. On the staging server:
    1. Log in as the staging user (user by default).
    2. If this is a new staging server, then run the following commands to install the staging server buildtools (substitute the version number of Cucumber Linux you are building in for “x.y”): cd && git clone https://github.com/cucumberlinux/buildtools.git && cd buildtools && make install-staging-server VERSION=x.y.
    3. Ensure that all the necessary directories are present by running the following command: /opt/buildtools/initserv_create_directories
      1. TODO Copy over or create the CHANGELOG file.
  2. On the bootstrap server:
    1. Ensure you are in the chroot environment.
    2. Run the following commands to install the bootstrap server buildtools (substitute the version number of Cucumber Linux you are building in for “x.y”): cd && git clone https://github.com/cucumberlinux/buildtools.git && cd buildtools && make install-bootstrap-server VERSION=x.y
    3. Run a script to create the contents.bz2, file-list, updates and CHANGELOG files: cd /opt/packages/cucumber && /opt/buildtools/create_metadata_files
  3. Add an entry to the changelog stating that the new version is released.
  4. Build the updated installer ISO.
    1. On the build server
      1. Run ./build-iso.sh.
      2. Upload the .iso file in /tmp to the distribution server.
      3. Upload the ports tree from the build server to ~/cucumber/cucumber-x.y/ports on the distribution server.
      4. Upload the /opt/packages/cucumber directory from the build server to ~/cucumber/cucumber-x.y/cucumber-ARCH on the distribution server, substituting in the appropriate architecture for ARCH.
    2. On the distribution server.
      1. Copy the ISO file to ~/cucumber/cucumber-x.y/ISOs/
      2. Calculate the SHA256 checksums.
      3. Sign the ISO images with GPG.

Mutual Steps

The remaining steps must be performed regardless of which type of server you are releasing from. These steps are identical regardless of which type of server you are releasing from.

  1. Change the SUPPORT_STATUS file.
    1. This applies only when releasing the final release of a version, not the development releases.
  2. Make a copy of the rolling source tree and save it to ~/cucumber_releases/.
  3. Upload the new ISO files to Sourceforge.
  4. Make an announcement on the website and update the download page.
  5. Send an email to the announcement mailing list
    1. Also CC the development mailing list.
devdocs/finalize_release_process.1542482667.txt.gz · Last modified: 2018/11/17 19:24 by z5t1