#!/usr/bin/env bash set -euo pipefail if [[ "${0##*/}" == ssh ]]; then remote_command="${!#}" [[ "${remote_command}" == /opt/ecos-dev/release-service\ * ]] [[ "${remote_command}" != *' ' ]] exit 0 fi script_dir=$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd) test_dir=$(mktemp -d) trap 'rm -rf "${test_dir}"' EXIT cp "$0" "${test_dir}/ssh" digest="registry.dev.nii-ecos.ru/avm/state-corp-backend-web@sha256:$(printf '0%.0s' {1..64})" encoded_fixture=$(printf fixture | base64) release_env=( PATH="${test_dir}:${PATH}" RELEASE_HOST=10.10.0.124 RELEASE_USER=ecos-deploy RELEASE_SERVICE_PATH=/opt/ecos-dev/release-service RELEASE_SSH_KEY_B64="${encoded_fixture}" RELEASE_KNOWN_HOSTS_B64="${encoded_fixture}" ) env "${release_env[@]}" \ "${script_dir}/release-service.sh" \ state-corp-backend test-run "${digest}" "${digest}" if env "${release_env[@]}" \ "${script_dir}/release-service.sh" \ state-corp-backend test-run \ registry.dev.nii-ecos.ru/avm/state-corp-backend-web:dev-deadbee \ registry.dev.nii-ecos.ru/avm/state-corp-backend-celery:dev-deadbee \ >/dev/null 2>&1; then echo "mutable dev tags must be rejected" >&2 exit 1 fi echo "release-service digest contract: PASS"