This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
devdocs:finalize_release_process [2018/11/14 00:44] z5t1 created |
devdocs:finalize_release_process [2018/11/17 23:58] z5t1 [If Releasing from a Bootstrap Server] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Release Process ====== | ====== Release Process ====== | ||
- | Updated March 28, 2018 | + | Updated November 17, 2018 |
- | The following is the process for finalizing a new release of Cucumber Linux | + | The following is the process for finalizing a new release of Cucumber Linux. |
- | - Update the information in the lsb-info package to reflect the new release version. | + | 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. |
- | - Ensure the default pickle.conf uses the mirrors for the new version, not the old one. | + | |
- | - This is not really an issue since Cucumber Linux 1.1. | + | 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 ====== | ||
+ | |||
+ | - Update the information in ports/distribution-release to reflect the new release version | ||
+ | - Rebuild the lsb-info package. | ||
- Add an entry to the changelog stating that the new version is released. | - Add an entry to the changelog stating that the new version is released. | ||
- | - Build the updated initrds. | + | |
- | - Build the updated installer. | + | ====== If Releasing from a Bootstrap Server ====== |
- | - Copy the new initrds and kernels to the installer/iso directory. | + | |
- | - Run VERSION=x.y installer/iso/iso.buildscript | + | - On the staging server: |
- | - Copy the files to ISOs/ | + | - Log in as the staging user (user by default). |
+ | - 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''. | ||
+ | - Ensure that all the necessary directories are present by running the following command: ''/opt/buildtools/initserv_create_directories'' | ||
+ | - On the bootstrap server: | ||
+ | - Ensure you are in the chroot environment. | ||
+ | - 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'' | ||
+ | - Run a script to create the contents.bz2, file-list, updates and CHANGELOG files: ''cd /opt/packages/cucumber && /opt/buildtools/create_metadata_files'' | ||
+ | - Edit the ''/opt/buildtools/config'' file and set the STAGING_SERVER variable to the appropriate value. | ||
+ | - Upload the /opt/packages/cucumber directory to the staging server by running the following script: ''/opt/buildtools/upload_packages'' | ||
+ | - On **only one bootstrap server** (i.e. the bootstrap server for one and only one architecture), upload the /usr/ports directory to the staging server by running the following script: ''/opt/buildtools/upload_ports'' | ||
+ | - Build the updated installer ISO. | ||
+ | - On the bootstrap server | ||
+ | - Clone the repository [[https://github.com/cucumberlinux/installer]]. | ||
+ | - Run ''VERSION=x.y ./build-iso.sh'', substituting the version number of Cucumber Linux you are building in for "x.y". | ||
+ | - Upload the .iso file from /tmp on the bootstrap server to ~/cucumber/cucumber-x.y/ISOs/ on the staging server. | ||
+ | |||
+ | ====== 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. | ||
+ | |||
+ | - Create the verification files for the ISO images: | ||
+ | - Cd to ~/cucumber/cucumber-x.y/ISOs/ | ||
- Calculate the SHA256 checksums. | - Calculate the SHA256 checksums. | ||
- Sign the ISO images with GPG. | - Sign the ISO images with GPG. | ||
- | - Change the SUPPORT_STATUS file. | ||
- | - This applies only when releasing the final release of a version, not the development releases. | ||
- Make a copy of the rolling source tree and save it to ~/cucumber_releases/. | - Make a copy of the rolling source tree and save it to ~/cucumber_releases/. | ||
- Upload the new ISO files to Sourceforge. | - Upload the new ISO files to Sourceforge. |