From 6f9b250652a895a2e4d004df8b2bd2ba25a49bb8 Mon Sep 17 00:00:00 2001 From: Benjamin Reed Date: Mon, 28 Jun 2021 12:45:05 -0400 Subject: [PATCH] make sure release packages get release 1 rather than snapshot --- .circleci/config.yml | 28 ++++++++++++++++++---------- .circleci/get-version.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 10 deletions(-) create mode 100755 .circleci/get-version.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 394fe37c..b867cc51 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -219,7 +219,7 @@ jobs: at: ~/ - run: name: Create plugin tarball - command: mkdir -p ./dist/packages && tar --exclude='package-lock.json' --exclude='.circleci' --exclude='.git' --exclude='./node_modules' --exclude='./dist/packages' -czf "./dist/packages/opennms-helm_$(cat version.tag).tar.gz" . + command: mkdir -p ./dist/packages && tar --exclude='package-lock.json' --exclude='.circleci' --exclude='.git' --exclude='./node_modules' --exclude='./dist/packages' -czf "./dist/packages/opennms-helm_$(.circleci/get-version.sh).tar.gz" . - store_artifacts: path: ./dist/packages - persist_to_workspace: @@ -253,12 +253,12 @@ jobs: name: Build Docker Image command: | docker build \ - --build-arg OPENNMS_HELM_PKG=opennms-helm_$(cat version.tag).tar.gz \ + --build-arg OPENNMS_HELM_PKG=opennms-helm_$(.circleci/get-version.sh).tar.gz \ --build-arg GRAFANA_VERSION=$(cat grafana.version) \ - -t helm:$(cat version.tag) . + -t helm:$(.circleci/get-version.sh) . - run: name: Export Docker Image as artefact - command: docker image save helm:$(cat version.tag) -o helm-docker-image + command: docker image save helm:$(.circleci/get-version.sh) -o helm-docker-image - store_artifacts: path: ./helm-docker-image - persist_to_workspace: @@ -273,7 +273,11 @@ jobs: - run: name: Create RPM package command: | - ./makerpm.js --release "$(git log --pretty=format:%cd --date=short -1 | sed -e s,-,,g).${CIRCLE_BUILD_NUM}" + RELEASE="$(.circleci/get-version.sh | cut -d- -f2-)" + if [ "$(grep -c -- -SNAPSHOT package.json)" -eq 0 ]; then + RELEASE=1 + fi + ./makerpm.js --release "$RELEASE" - sign-packages/install-rpm-dependencies: skip_if_forked_pr: true - sign-packages/setup-env: @@ -297,7 +301,11 @@ jobs: - run: name: Create DEB package command: | - ./makedeb.js --release "$(git log --pretty=format:%cd --date=short -1 | sed -e s,-,,g).${CIRCLE_BUILD_NUM}" + RELEASE="$(.circleci/get-version.sh | cut -d- -f2-)" + if [ "$(grep -c -- -SNAPSHOT package.json)" -eq 0 ]; then + RELEASE=1 + fi + ./makedeb.js --release "$RELEASE" - sign-packages/install-deb-dependencies: skip_if_forked_pr: true - sign-packages/setup-env: @@ -351,9 +359,9 @@ jobs: - run: name: Tag Docker Container Images for release and publish to DockerHub command: | - docker tag helm:$(cat version.tag) ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:$(cat version.tag) - docker tag helm:$(cat version.tag) ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:latest - docker push ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:$(cat version.tag) + docker tag helm:$(.circleci/get-version.sh) ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:$(.circleci/get-version.sh) + docker tag helm:$(.circleci/get-version.sh) ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:latest + docker push ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:$(.circleci/get-version.sh) docker push ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:latest publish-docker-image-bleeding: @@ -394,7 +402,7 @@ jobs: - run: name: Tag Docker Container Images for bleeding and publish to DockerHub command: | - docker tag helm:$(cat version.tag) ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:bleeding + docker tag helm:$(.circleci/get-version.sh) ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:bleeding docker push ${DOCKERHUB_PROJECT_USER}/${DOCKERHUB_PROJECT_NAME}:bleeding publish-docs: diff --git a/.circleci/get-version.sh b/.circleci/get-version.sh new file mode 100755 index 00000000..dfbf73e8 --- /dev/null +++ b/.circleci/get-version.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +MYDIR="$(dirname "$0")" +MYDIR="$(cd "$MYDIR"; pwd)" + +JQ="$(command -v jq 2>/dev/null || which jq 2>/dev/null || :)" +GIT_CLI="$(command -v git 2>/dev/null || which git 2>/dev/null || :)" +VERSION="0" + +if [ -n "$JQ" ] && [ -x "$JQ" ]; then + VERSION="$(jq --raw-output .info.version "${MYDIR}/../src/plugin.json")" +elif [ -e "${MYDIR}/version.tag" ]; then + VERSION="$(cat version.tag)" +fi + +SNAPSHOT_RELEASE="SNAPSHOT" + +if [ -n "${CIRCLE_BUILD_NUM}" ]; then + SNAPSHOT_RELEASE="${CIRCLE_BUILD_NUM}.${SNAPSHOT_RELEASE}" +elif [ -n "$GIT_CLI" ] && [ -x "$GIT_CLI" ] && [ -d .git ]; then + SNAPSHOT_RELEASE="$(git log '--pretty=format:%cd' --date=short -1 | sed -e s,-,,g).${SNAPSHOT_RELEASE}" +fi + +echo "$VERSION" | sed -e "s,-SNAPSHOT,-${SNAPSHOT_RELEASE},"