X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Frelease-process%2Fproject-release.rst;h=da8d08d835b0fee4d4cb2b2b2627492eeb0666ca;hb=3451f82ea51f28fa6693e27719801d396277f52b;hp=90589143ead2eb08ac49d0cf24b5ab36722af05a;hpb=9cf0e62d2a3a19364b40a45416258f9857378a65;p=docs.git diff --git a/docs/release-process/project-release.rst b/docs/release-process/project-release.rst index 90589143e..da8d08d83 100644 --- a/docs/release-process/project-release.rst +++ b/docs/release-process/project-release.rst @@ -33,69 +33,30 @@ Releasing your project Once testing against the staging repo has been completed and project has determined that the staged repo is ready for release. A release can the be -performed as follows: - -1. Ask helpdesk to sign the artifacts in staging repo -2. Ask helpdesk to promote the staging repo -3. Download taglist.log and project.bundle files. They can be found in the - "patches" directory of the related jenkins release job logs. -4. Read taglist.log and checkout the commit hash listed -5. Merge the project.bundle patches -6. Git tag the release -7. Push release tag to Gerrit - -Steps 4-7 as bash: -You will need a working GPG config to sign the release Git tag ("-s" option) - -.. code:: bash - - PATCH_DIR=/tmp/patches - PROJECT=odlparent - VERSION=1.2.3 - git checkout $(awk '{print $NF}' "$PATCH_DIR/taglist.log") - git fetch "$PATCH_DIR/$PROJECT.bundle" - git merge --ff-only FETCH_HEAD - git tag -asm "$PROJECT $VERSION" "v$VERSION" - git push origin "v$VERSION" - -Once complete the Git tag should be available in Gerrit and the Artifacts should -appear in the Nexus opendaylight.release repo. - -The following shell script will do this for you: - -.. code:: bash - - #!/bin/sh - - set -e - - if [ $# != 3 ]; then - echo Usage: $0 project version log-URL - echo fetches a project release\'s logs from log-URL and tags the git repository - exit 1 - fi - - PROJECT=$1 - VERSION=$2 - PATCH_DIR=/tmp/patches - - mkdir -p $PATCH_DIR - cd $PATCH_DIR - rm -f ${PROJECT}.bundle taglist.log{,.gz} - wget ${3}/patches/{${PROJECT}.bundle,taglist.log.gz} - gunzip taglist.log.gz - cd - - git checkout $(awk '{print $NF}' "$PATCH_DIR/taglist.log") - git fetch "$PATCH_DIR/$PROJECT.bundle" - git merge --ff-only FETCH_HEAD - git tag -asm "$PROJECT $VERSION" "v$VERSION" - git push origin "v$VERSION" - -You need to run it from a clone git repository of your project, -and give it as arguments the project’s short name, the newly- -released version, and the URL of the release build’s logs; for -example: - -.. code:: bash - - sign-odl-release odlparent 4.0.0 https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/odlparent-maven-release-master/11/ +performed using the self-serve release process: +https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/jjb/lf-release-jobs.html + + +1. Ask helpdesk the necessary right on jenkins if you do not have them +2. Log on https://jenkins.opendaylight.org/ +3. Choose your project dashboard +4. Check your release branch has been successfully staged and note the corresponding log folder +5. Go back to the dashboard and choose the release-merge job +6. Click on build with parameters +7. Fill in the form: + +* GERRIT_BRANCH must be changed to the branch name you want to release (e.g. stable/sodium) +* VERSION with your corresponding project version (e.g. 0.4.1) +* LOG_DIR with the relative path of the log from the stage release job (e.g. project-maven-stage-master/17/) +* choose maven DISTRIBUTION_TYPE in the select box +* uncheck USE_RELEASE_FILE box + +8. Launch the jenkins job + + +This job performs the following duties: +* download and patch your project repository +* build the project +* publish the artifacts on nexus +* tag and sign the release on Gerrit +