All checks were successful
State Corp Backend CI/CD / Quality gate (push) Successful in 4m5s
State Corp Backend CI/CD / Build linux/amd64 images once (push) Successful in 4m33s
State Corp Backend CI/CD / Refresh and release internal main (push) Has been skipped
State Corp Backend CI/CD / Release customer main (push) Has been skipped
State Corp Backend CI/CD / Release dev (push) Successful in 1m2s
43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/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"
|