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

Both sides previous revision Previous revision
Next revision
Previous revision
devdocs:finalize_release_process [2018/11/17 19:19]
z5t1
devdocs:finalize_release_process [2018/12/03 16:52] (current)
z5t1
Line 1: Line 1:
 ====== Release Process ====== ====== Release Process ======
-Updated November ​13, 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.
  
 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. 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.
Line 12: Line 12:
   - Update the information in ports/​distribution-release to reflect the new release version   - Update the information in ports/​distribution-release to reflect the new release version
   - Rebuild the lsb-info package.   - Rebuild the lsb-info package.
 +  - Add an entry to the changelog stating that the new version is released.
  
 ====== If Releasing from a Bootstrap Server ====== ====== If Releasing from a Bootstrap Server ======
Line 17: Line 18:
   - On the staging server:   - On the staging server:
     - Log in as the staging user (user by default).     - Log in as the staging user (user by default).
-    - If this is a new staging server, then run the following commands (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''​.+    - 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''​     - Ensure that all the necessary directories are present by running the following command: ''/​opt/​buildtools/​initserv_create_directories''​
-      - **TODO Copy over or create the CHANGELOG file.** 
   - On the bootstrap server:   - On the bootstrap server:
     - Ensure you are in the chroot environment.     - Ensure you are in the chroot environment.
-    - Run the following commands: ''​cd && git clone https://​github.com/​cucumberlinux/​buildtools.git && cd buildtools && make install-bootstrap-server''​ +    - 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''​ 
-  Add an entry to the changelog stating that the new version is released.+    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.   - Build the updated installer ISO.
-    - On the build server+    - On the bootstrap ​server
       - Clone the repository [[https://​github.com/​cucumberlinux/​installer]].       - Clone the repository [[https://​github.com/​cucumberlinux/​installer]].
-      - Run ./​build-iso.sh+      - 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 in /tmp to the distribution server. +      - Upload the .iso file from /tmp on the bootstrap ​server to ~/​cucumber/​cucumber-x.y/​ISOs/ ​on the staging server.
-      - Upload the ports tree from the build server to ~/​cucumber/​cucumber-x.y/ports on the distribution server+
-      - 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. +
-    - On the distribution server. +
-      - Copy the ISO file to ~/​cucumber/​cucumber-x.y/​ISOs/​ +
-      - Calculate ​the SHA256 checksums. +
-      - Sign the ISO images with GPG.+
  
 ====== Mutual Steps ====== ====== 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.+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.
  
-  - Change ​the SUPPORT_STATUS file+  - Create ​the verification files for the ISO images: 
-    - This applies only when releasing ​the final release of a version, not the development releases.+    - Cd to ~/​cucumber/​cucumber-x.y/ISOs/ 
 +    - Calculate ​the SHA256 checksums. 
 +    - Sign the ISO images with GPG.
   - 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.1542482387.txt.gz · Last modified: 2018/11/17 19:19 by z5t1