From 6d8318659ed0289f0cfded42534d6a6aed50f426 Mon Sep 17 00:00:00 2001 From: Lei Wang Date: Fri, 25 Oct 2024 17:28:41 -0400 Subject: [PATCH] Document package release procedure --- RELEASING.md | 52 +++++++++++++++++----------------------------------- 1 file changed, 17 insertions(+), 35 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 0e09ad0fb..dd8341109 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -150,52 +150,34 @@ For production builds, check the ``BUILD_FOR_STABLE`` box. * https://builds.globus.org/downloads.globus.org/globus-connect-server/stable/rpm/el/8/x86_64/ * After GCS push during deploy day (or if we ping them to do so), the public images will be located at: * https://downloads.globus.org/globus-connect-server/stable/rpm/el/9/x86_64/ +<<<<<<< HEAD [publishResults.groovy line 85](https://github.com/globusonline/gcs-build-scripts/blob/168617a0ccbb0aee7b3bee04ee67940bbe2a80f6/vars/publishResults.groovy#L85) 2. (Access on VPN) Click the [build button here](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/build?delay=0sec) 3. Wait 20-30 minutes and confirm that the [build is green](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/) 4. For production release, we will have finished the build before the GCS team has +======= + +1. Wait 20-30 minutes and confirm that the [build is green](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/) +>>>>>>> dd04032c (Document package release procedure) #### Old Build Instructions -As a temporary workaround, we need to add a few lines to manually set some +As a temporary workaround, we needed to add a few lines to manually set some env variables in our [JenkinsFile](https://github.com/globus/globus-compute/blob/743fa1e398fd40a00efb5880c55e3fa6e47392fc/compute_endpoint/packaging/JenkinsFile#L24) before triggering the build, as detailed below. -1. Git checkout both the current release branch that was recently pushed to - PyPI, ie. ``v2.23.0`` or ``v2.25.0a0`` and the ``build_for_stable`` branch -2. Rebase ``build_for_stable`` on the release branch which should result in - adding the following ~6 lines: - - ... - env.BRANCH_NAME = scmVars.GIT_BRANCH.replaceFirst(/^.*origin\//, "") - + env.TAG_NAME = sh(returnStdout: true, script: "git tag --contains | head -1").trim() - env.SOURCE_STASH_NAME = "${UUID.randomUUID()}" - echo "env.BRANCH_NAME = ${env.BRANCH_NAME}" - sh "git clean -fdx" - - + // temporary hack to build for stable - + sh "git checkout build_for_stable" - + env.TAG_NAME = "v2.23.0" - + env.DEFAULT_BRANCH = "build_for_stable" - + - dir("compute_endpoint/packaging/") { - ... - -3. Change the ``env.TAG_NAME`` above to the current production release version - * Note that ``env.TAG_NAME`` determines whether the build is sent to - the ``unstable`` repo or also to the ``testing`` and ``stable`` ones. +1. Notes * Example of unstable repo: * https://downloads.globus.org/globus-connect-server/unstable/rpm/el/9/x86_64/ - * Example of stable repo: - * https://downloads.globus.org/globus-connect-server/stable/rpm/el/9/x86_64/ - * The logic of whether a release is stable is determined by whether the - package version of Globus Compute Endpoint set in ``version.py`` or - ``setup.py`` matches ``env.TAG_NAME`` above. If they are unequal, then + * Directory of testing images: + * https://builds.globus.org/downloads.globus.org/globus-connect-server/testing/rpm/el/8/x86_64/ + * Stable repo: + * The images will be in the below build directory after we finish our build process, but not public: + * https://builds.globus.org/downloads.globus.org/globus-connect-server/stable/rpm/el/8/x86_64/ + * After GCS push during deploy day (or if we ping them to do so), the public images will be located at: + * https://downloads.globus.org/globus-connect-server/stable/rpm/el/9/x86_64/ [publishResults.groovy line 85](https://github.com/globusonline/gcs-build-scripts/blob/168617a0ccbb0aee7b3bee04ee67940bbe2a80f6/vars/publishResults.groovy#L85) - will be (``tag`` : v2.23.0) != (``stable_tag`` : v2.23.0a0), where - stable_tag is constructed from the package version of an alpha release. -4. Commit and push your ``build_for_stable`` branch -5. (Access on VPN) Click the [build button here](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/build?delay=0sec) -6. Wait 20-30 minutes and confirm that the [build is green](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/) -7. For production release, we will have finished the build before the GCS +2. (Access on VPN) Click the [build button here](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/build?delay=0sec) +3. Wait 20-30 minutes and confirm that the [build is green](https://builds.globus.org/jenkins/job/BuildGlobusComputeAgentPackages/) +4. For production release, we will have finished the build before the GCS team, and can notify them that our build is complete. They then will publish all packages when they finish their builds, which includes ours.