From: Paul Bauer Date: Wed, 3 Mar 2021 18:52:43 +0000 (+0000) Subject: Check version names to be correct for release X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=c1b4525d08464f563fb4d4e7fd5e627d8ecb4f8c;p=alexxy%2Fgromacs.git Check version names to be correct for release Adds a check during release verification that the version names coming from CMake and the actual name in the binary match. Prevents issues with calculation of verified checksum. Refs #3862 --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61a4808785..5512be09ef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,14 +24,14 @@ stages: - nightly-deploy # Release work for packaging code - release-package - # Release checksum verification - - release-verify # Configure code for release builds - release-configure # Release work for packaging code - release-build # Tests for release code - release-tests + # Release checksum verification + - release-verify # Prepare for deploying artifacts - release-prepare-deploy # Deploy stage for release builds diff --git a/admin/gitlab-ci/archive.gitlab-ci.yml b/admin/gitlab-ci/archive.gitlab-ci.yml index 67c51d7f3b..e6f86417d7 100644 --- a/admin/gitlab-ci/archive.gitlab-ci.yml +++ b/admin/gitlab-ci/archive.gitlab-ci.yml @@ -182,7 +182,9 @@ archive:configure:release: when: always expire_in: 1 week paths: - - $BUILD_DIR/*log + - $BUILD_DIR/*logs + - $BUILD_DIR/bin + - $BUILD_DIR/lib - gromacs*tar.gz archive:build: @@ -205,7 +207,7 @@ archive:package: variables: BUILD_DIR: build-package -release-verify: +checksum-verify: image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-7-docs stage: release-verify extends: @@ -217,25 +219,30 @@ release-verify: KUBERNETES_CPU_LIMIT: 1 KUBERNETES_CPU_REQUEST: 1 KUBERNETES_MEMORY_REQUEST: 2Gi + BUILD_DIR: build-package script: + - VALID_BUILD=true - VERSION=`cat version.json | python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"` - - if [[ $GROMACS_RELEASE != "true" ]] ; then - VERSION=$VERSION-dev ; + - if [[ "$GROMACS_RELEASE" != "true" ]] ; then + VERSION="$VERSION"-dev ; fi - REGTEST_COMPARE=`cat version.json | python3 -c "import json,sys; print(json.load(sys.stdin)['regressiontest-md5sum'])"` - - SOURCENAME=gromacs-$VERSION - - SOURCETARBALL=$SOURCENAME.tar.gz - - SOURCE_MD5SUM=`md5sum $SOURCETARBALL | awk '{print $1}'` - - REGTESTNAME=regressiontests-$VERSION - - REGTESTTARBALL=$REGTESTNAME.tar.gz - - REGTEST_MD5SUM=`md5sum $REGTESTTARBALL | awk '{print $1}'` + - SOURCENAME=gromacs-"$VERSION" + - SOURCETARBALL="$SOURCENAME".tar.gz + - SOURCE_MD5SUM=`md5sum "$SOURCETARBALL" | awk '{print $1}'` + - REGTESTNAME=regressiontests-"$VERSION" + - REGTESTTARBALL="$REGTESTNAME".tar.gz + - REGTEST_MD5SUM=`md5sum "$REGTESTTARBALL" | awk '{print $1}'` - echo "$SOURCETARBALL md5sum = $SOURCE_MD5SUM" - echo "$REGTESTTARBALL md5sum = $REGTEST_MD5SUM" - echo "$REGTESTTARBALL reference md5sum = $REGTEST_COMPARE" - - if [[ $REGTEST_COMPARE != $REGTEST_MD5SUM && $GROMACS_RELEASE == "true" ]] ; then + - if [[ "$REGTEST_COMPARE" != "$REGTEST_MD5SUM" && "$GROMACS_RELEASE" == "true" ]] ; then echo "Mismatch in regressiontest md5sums"; + VALID_BUILD=false; + fi + - if [[ "$VALID_BUILD" != "true" ]] ; then exit 1; fi dependencies: @@ -243,6 +250,40 @@ release-verify: - regressiontests:package - prepare-release-version +version-verify: + image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-7-docs + stage: release-verify + extends: + - .variables:default + - .rules:nightly-only-for-release + cache: {} + + variables: + KUBERNETES_CPU_LIMIT: 1 + KUBERNETES_CPU_REQUEST: 1 + KUBERNETES_MEMORY_REQUEST: 2Gi + BUILD_DIR: release-doc-builds + script: + - VALID_BUILD=true + - VERSION=`cat version.json | + python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"` + - if [[ "$GROMACS_RELEASE" != "true" ]] ; then + VERSION="$VERSION"-dev ; + fi + - VERSION_FROM_BINARY=`"${BUILD_DIR}"/bin/gmx --version | grep "GROMACS version" | awk '{print $3}'` + - echo "Version name from CMake = $VERSION" + - echo "Version name from binary = $VERSION_FROM_BINARY" + - if [[ "$VERSION" != "$VERSION_FROM_BINARY" && "$GROMACS_RELEASE" == "true" ]] ; then + echo "Version names don't match"; + VALID_BUILD=false; + fi + - if [[ "$VALID_BUILD" != "true" ]] ; then + exit 1; + fi + dependencies: + - webpage:dependencies + - prepare-release-version + archive:nightly-webpage: extends: - .webpage:build