File: package-repo-import.sh

package info (click to toggle)
golang-github-smallstep-certificates 0.29.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,720 kB
  • sloc: sh: 385; makefile: 129
file content (56 lines) | stat: -rwxr-xr-x 1,550 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env bash

set -e

: ${GCLOUD_LOCATION:=us-central1}
: ${GCLOUD_RPM_REPO:=rpms}
: ${GCLOUD_DEB_REPO:=debs}

PACKAGE="${1}"
VERSION="${2}"
RELEASE="1"
EPOCH="0"
GORELEASER_PHASE=${GORELEASER_PHASE:-release}

echo "Package: ${PACKAGE}"
echo "Version: ${VERSION}"

check_package() {
  local EXITCODE=0
  local REPO="${1}"
  local VER="${2}"
  if [ ! -f /tmp/version-deleted.stamp ]; then
    gcloud artifacts versions list \
       --repository "${REPO}" \
       --location "${GCLOUD_LOCATION}" \
       --package "${PACKAGE}" \
       --filter "VERSION:${VER}" \
       --format json  2> /dev/null \
       | jq -re '.[].name?' >/dev/null 2>&1 \
       || EXITCODE=$?
    if [[ "${EXITCODE}" -eq 0 ]]; then
      echo "Package version already exists. Removing it..."
      gcloud artifacts versions delete \
      --quiet "${VER}" \
      --package "${PACKAGE}" \
      --repository "${REPO}" \
      --location "${GCLOUD_LOCATION}"
      touch /tmp/version-deleted.stamp
    fi
  fi
}

if [[ ${IS_PRERELEASE} == "true" ]]; then
  echo "Skipping artifact import; IS_PRERELEASE is 'true'"
  exit 0;
fi

check_package "${GCLOUD_RPM_REPO}" "${EPOCH}:${VERSION}-${RELEASE}"
gcloud artifacts yum import "${GCLOUD_RPM_REPO}" \
  --location "${GCLOUD_LOCATION}" \
  --gcs-source "gs://artifacts-outgoing/${PACKAGE}/rpm/${VERSION}/*"

check_package ${GCLOUD_DEB_REPO} "${VERSION}-${RELEASE}"}
gcloud artifacts apt import "${GCLOUD_DEB_REPO}" \
  --location "${GCLOUD_LOCATION}" \
  --gcs-source "gs://artifacts-outgoing/${PACKAGE}/deb/${VERSION}/*"