User Tools

Site Tools


devdocs:finalize_release_process

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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.
devdocs/finalize_release_process.txt · Last modified: 2018/12/03 16:52 by z5t1