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
devdocs:finalize_release_process [2018/11/14 00:44]
z5t1 created
devdocs:finalize_release_process [2018/12/03 16:52] (current)
z5t1
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 and should all be performed on the staging server. 
 + 
 +  ​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.1542156258.txt.gz · Last modified: 2018/11/14 00:44 by z5t1