Просмотр исходного кода

Merge pull request #9711 from jpbetz/release-script-fixes-2

scripts: Fix remote tag check, gcloud login and umask in release script
Gyuho Lee 7 лет назад
Родитель
Сommit
a519464f3e
1 измененных файлов с 17 добавлено и 11 удалено
  1. 17 11
      scripts/release

+ 17 - 11
scripts/release

@@ -48,6 +48,9 @@ main() {
     exit 1
   fi
 
+  # Expected umask for etcd release artifacts
+  umask 022
+
   # Set up release directory.
   local reldir="/tmp/etcd-release-${VERSION}"
   if [ ! -d "${reldir}/etcd" ]; then
@@ -58,8 +61,8 @@ main() {
   cd "${reldir}/etcd"
 
   # If a release version tag already exists, use it.
-  local remote_tag_exists=$(git ls-remote origin "refs/tags/${RELEASE_VERSION}" | grep -q "${RELEASE_VERSION}")
-  if ${remote_tag_exists}; then
+  local remote_tag_exists=$(git ls-remote origin "refs/tags/${RELEASE_VERSION}" | grep -c "${RELEASE_VERSION}")
+  if [ ${remote_tag_exists} -gt 0 ]; then
     echo "Release version tag exists on remote. Checking out refs/tags/${RELEASE_VERSION}"
     git checkout -q "tags/${RELEASE_VERSION}"
   fi
@@ -73,7 +76,7 @@ main() {
   fi
 
   # If the release tag does not already exist remotely, create it.
-  if ! ${remote_tag_exists}; then
+  if [ ${remote_tag_exists} -eq 0 ]; then
     # Bump version/version.go to release version.
     local source_version=$(egrep "\s+Version\s*=" version/version.go | sed -e "s/.*\"\(.*\)\".*/\1/g")
     if [[ "${source_version}" != "${VERSION}" ]]; then
@@ -109,7 +112,7 @@ main() {
     fi
 
     # Tag release.
-    if $(git tag --list | grep -q "${RELEASE_VERSION}"); then
+    if [ $(git tag --list | grep -c "${RELEASE_VERSION}") -gt 0 ]; then
       echo "Skipping tag step. git tag ${RELEASE_VERSION} already exists."
     else
       echo "Tagging release..."
@@ -159,15 +162,18 @@ main() {
   else    
     read -p "Publish etcd ${RELEASE_VERSION} docker images to quay.io [y/N]? " confirm
     [[ "${confirm,,}" == "y" ]] || exit 1
-    until $(docker login quay.io); do
-      echo "Docker login failed, retrying."
+    for i in {1..5}; do
+      docker login quay.io && break
+      echo "login failed, retrying"
     done
     gcloud docker -- login -u _json_key -p "$(cat /etc/gcp-key-etcd-development.json)" https://gcr.io
-    
-    for TARGET_ARCH in "-arm64" "-ppc64le" ""; do
-      docker push quay.io/coreos/etcd:${RELEASE_VERSION}${TARGET_ARCH}
-      gcloud docker -- push gcr.io/etcd-development/etcd:${RELEASE_VERSION}${TARGET_ARCH}
-    done
+
+    if [ "${MINOR_VERSION}" != "3.1" ]; then
+      for TARGET_ARCH in "-arm64" "-ppc64le" ""; do
+        docker push quay.io/coreos/etcd:${RELEASE_VERSION}${TARGET_ARCH}
+        gcloud docker -- push gcr.io/etcd-development/etcd:${RELEASE_VERSION}${TARGET_ARCH}
+      done
+    fi
     gsutil -m acl ch -u allUsers:R -r gs://artifacts.etcd-development.appspot.com
 
     docker tag quay.io/coreos/etcd:${RELEASE_VERSION} quay.io/coreos/etcd:v${MINOR_VERSION}