Dear all, as you might have noted I have revised the release-steps.md document to reflect 5.0 -> 5.1 to the best of my knowledge. I propose that we follow the strategy from version 4 releases and put a release candidate in main/branches/5.1/trunk/ and that we release it in main/releases/5.1.0/trunk/ (exactly as that) and same for documentation and testing. If there are objections to that (we did it slightly different in 5.0.0) I need to know since this will have to be modified in the “switching” script I have done. I have taken a complete backup of all jobs so I am ready to carry out my part of the work, once there is a release candidate in place. I have attached the list with steps I need to perform during the switch just to give you an idea of the many manual items still. Not complicated but tedious. After this release we might merge this list with release-steps.md (or keep it as a separate item). |
Necessary steps to perform when making a new release for ooRexx 1. All the footwork done for a release (Ricks document release-steps.md, compright update etc) and A Release candidate in main/branches/5.1/trunk or main/releases/5.1.0/trunk
2. Make a complete backup of Jenkins using jenkinsTotalBup.sh, date it and store away to DATA disk. IMPORTANT 3. On the machine where the documentation is built make a complete copy of the Documentation job folder ooRexx-docs-build -> ooRexx-docs-build-Beta and thereafter clean out all old build files in ooRexx-docs-build zip, html, fo, pdf and delete version files both old and new make a SVN update oorexxdocSVN to confirm that svn is ok 4. Copy jenkinsTotalBup.zip to a temporary work folder, like Downloads Extract job folders WITH COMPLETE PATH /var/lib/jenkins/jobs/* Copy Modifybuildjobs.rex to the same folder NOTE: Work folder can be on another machine This can be done using GUI and file browser 5. In the script Modifybuildjobs.rex check this (example for 5.1.0) needle1 ='<remote>https://svn.code.sf.net/p/oorexx/code-0/main/trunk</remote>' Use one of the below depending on where the release candidate is located --newneedle1 ='<remote>https://svn.code.sf.net/p/oorexx/code-0/sandbox/po/branches/5.1/trunk' newneedle1 ='<remote>https://svn.code.sf.net/p/oorexx/code-0/sandbox/po/releases/5.1.0/trunk' NOTE: 5.0.0 was https://svn.code.sf.net/p/oorexx/code-0/main/releases/5.0.0 4.2 was https://svn.code.sf.net/p/oorexx/code-0/main/releases/4.2.0/trunk Modify Modifybuildjobs.rex to include the correct new paths needle = current path newneedle = the release path Run Modifybuildjobs.rex This will find and modify /var/lib/jenkins/jobs/<platform>/config.xml The script will also empty /var/lib/jenkins/jobs/<Platform>/builds/ thereby removing all previous builds. We are ready for a fresh upload NOTE: In order to be successful most builds need a fresh copy of the documentation. Since the revision information is depending on how the documentation was built we need to make a build first to create the documentation and then build the artifacts a 2nd time with the correct documentation 6. Log in to Sourceforge and create one NON-STAGED folder for the new documentation build oorexx-docs/5.1.0 important! Wget does not work with staged folders 7. Create 2 STAGED folders on Sourceforge /projects/oorexx/files/oorexx/5.1.0/ /projects/oorexx/files/oorexx/5.1.0/portable/ IMPORTANT 8. In Jenkins main screen go over all build jobs and wipe the workspace -> this prevents older build files to be uploaded Do NOT, I repeat NOT wipe the upload and zip upload folders! 9. In Jenkins main screen set all physical machines to offline, also Built in Node (Controller), make a remark "Set to Offline for a release test P.O. Jonsson 2025-03-12" For machine used to build the documentation disable all other jobs -> Nodes -> pos MacPro 16Core -> job -> Configure -> turn "Enabled" to off and save these: ooRexx-docs-buildutils-check ooRexx-macOS14-X86_64-build ooRexx-macOS14-X86_64-test ooRexx-source-package-build 10. Turn all virtual machines off (on Mac and Win) Now only ooRexx-docs-build is active and we are ready for switching 11. Stop Jenkins from running -> on Jenkins master sudo systemctl stop jenkins From remote use ssh to connect to jenkins controller ssh jenkins@192.168.1.8 (locally) or ssh jenk...@build.oorexx.org -p 2208 (from remote) sudo systemctl stop jenkins or sudo service jenkins stop This is absolutely essential to do before anything else. 12 Copy back the modified /jobs folder from the /var/lib/jenkins/jobs/ zip and move or use NAS/Upload CONTINUE CHECKING HERE BUT WIPE ALL WORK FOLDERS FIRST ------------------------------------ CHECK -------------------- 13 Start jenkins again sudo service jenkins start If all goes well the build of the documentation should start and upload to Sourceforge staged folder under oorexx-docs 14 When the documentation is completely built start by setting one or a few platforms (Win, MacOS, Ubuntu) active again and launch a build, make sure it/they build ok, activate the upload and zipupload jobs manually and check that the built are ok 15 When all are ok and checked by others release the remaining jobs and turn on all VMs monitor that all platforms are built. MOVING TO THE NEXT BETA AFTER RELEASE 1 Basically this is the same procedure as for the release, only with different paths. Store a copy of the modified /var/lib/jenkins/jobs Modify Modifybuildjobs.rex again for the upcoming beta Run Modifybuildjobs.rex WORKING MATERIAL, DELETE WHEN WORKING Test to build from /Users/jenkins/ooRexxSVN-Code-0/sandbox/po/branches/5.1/trunk This works but the upload did not work For Windows the documentation was taken from the Beta -> we need to modify the build to download locally /Users/jenkins/ooRexxSVN-Code-0/sandbox/po/releases/5.1.0/trunk For Upload and zip upload -> Make sure to add 5.1.0 to commandline before backing up again In the parsing make sure to remove all builds from jobs/builds, delete hyperlink rexx jenkinsArtifactUpload.rex ooRexx-CentOS9-build ooRexx-Debian11-build ooRexx-Fedora38-build ooRexx-FreeBSD14-build ooRexx-linux-aarch64-build ooRexx-LinuxMint21-build ooRexx-macOS14-X86_64-build ooRexx-macOS14-M1-build ooRexx-NetBSD9-build ooRexx-OpenBSD7_2-build ooRexx-OpenIndiana-build ooRexx-OpenSuse15-build ooRexx-RaspberryPiOS32-build ooRexx-RaspberryPiOS64-build oorexx-ubuntu16-build oorexx-ubuntu16debug-build ooRexx-Controller-Ubuntu20-build ooRexx-Ubuntu24-build ooRexx-windows32-build ooRexx-windows64-build ooRexx-source-package-build ----------------------------------------------------------------
Hälsningar/Regards/Grüsse, ooRexx oor...@jonases.se |
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel