Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 22a45f34f5 | |||
| 25c09f1e8f |
@@ -19,6 +19,8 @@ test('Deep Search production runtime is isolated from Portal releases', () => {
|
|||||||
|
|
||||||
const installer = read('scripts/install-deep-search-runtime-prod.sh');
|
const installer = read('scripts/install-deep-search-runtime-prod.sh');
|
||||||
assert.match(installer, /cn\.tkmind\.memind-deep-search/);
|
assert.match(installer, /cn\.tkmind\.memind-deep-search/);
|
||||||
|
assert.match(installer, /<string>\/bin\/bash<\/string>/);
|
||||||
|
assert.match(installer, /<key>WorkingDirectory<\/key><string>\$\{RUNTIME_BASE\}<\/string>/);
|
||||||
assert.match(installer, /chmod 600/);
|
assert.match(installer, /chmod 600/);
|
||||||
assert.match(installer, /openssl rand -hex 32/);
|
assert.match(installer, /openssl rand -hex 32/);
|
||||||
|
|
||||||
@@ -27,5 +29,6 @@ test('Deep Search production runtime is isolated from Portal releases', () => {
|
|||||||
assert.match(release, /CONFIRMED_CI_SHA/);
|
assert.match(release, /CONFIRMED_CI_SHA/);
|
||||||
assert.match(release, /shasum -a 256/);
|
assert.match(release, /shasum -a 256/);
|
||||||
assert.match(release, /rollback/);
|
assert.match(release, /rollback/);
|
||||||
|
assert.match(release, /launchctl bootout.*label/);
|
||||||
assert.doesNotMatch(release, /release-portal-runtime-prod/);
|
assert.doesNotMatch(release, /release-portal-runtime-prod/);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -52,8 +52,11 @@ cat > "${PLIST}" <<EOF
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0"><dict>
|
<plist version="1.0"><dict>
|
||||||
<key>Label</key><string>${LABEL}</string>
|
<key>Label</key><string>${LABEL}</string>
|
||||||
<key>ProgramArguments</key><array><string>${RUNTIME_BASE}/current/scripts/run-deep-search-prod.sh</string></array>
|
<key>ProgramArguments</key><array>
|
||||||
<key>WorkingDirectory</key><string>${RUNTIME_BASE}/current</string>
|
<string>/bin/bash</string>
|
||||||
|
<string>${RUNTIME_BASE}/current/scripts/run-deep-search-prod.sh</string>
|
||||||
|
</array>
|
||||||
|
<key>WorkingDirectory</key><string>${RUNTIME_BASE}</string>
|
||||||
<key>EnvironmentVariables</key><dict>
|
<key>EnvironmentVariables</key><dict>
|
||||||
<key>DEEP_SEARCH_RUNTIME_BASE</key><string>${RUNTIME_BASE}</string>
|
<key>DEEP_SEARCH_RUNTIME_BASE</key><string>${RUNTIME_BASE}</string>
|
||||||
<key>NODE_BIN</key><string>${NODE_BIN}</string>
|
<key>NODE_BIN</key><string>${NODE_BIN}</string>
|
||||||
@@ -74,7 +77,7 @@ launchctl enable "${GUI}/${LABEL}"
|
|||||||
launchctl kickstart -k "${GUI}/${LABEL}"
|
launchctl kickstart -k "${GUI}/${LABEL}"
|
||||||
|
|
||||||
for _ in $(seq 1 30); do
|
for _ in $(seq 1 30); do
|
||||||
if curl -fsS --max-time 2 "http://127.0.0.1:20100/health" >/dev/null; then
|
if curl -fsS --max-time 2 "http://127.0.0.1:20100/health" >/dev/null 2>&1; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ shasum -a 256 -c "$(basename "${sha_file}")"
|
|||||||
tar -xzf "${archive}" -C "${release_dir}"
|
tar -xzf "${archive}" -C "${release_dir}"
|
||||||
|
|
||||||
rollback() {
|
rollback() {
|
||||||
|
launchctl bootout "${gui}/${label}" >/dev/null 2>&1 || true
|
||||||
if [[ -n "${previous_target}" && -d "${previous_target}" ]]; then
|
if [[ -n "${previous_target}" && -d "${previous_target}" ]]; then
|
||||||
ln -sfn "${previous_target}" "${current_link}"
|
ln -sfn "${previous_target}" "${current_link}"
|
||||||
else
|
else
|
||||||
@@ -150,9 +151,10 @@ rollback() {
|
|||||||
fi
|
fi
|
||||||
if [[ -f "${backup_dir}/launchagent.plist" ]]; then
|
if [[ -f "${backup_dir}/launchagent.plist" ]]; then
|
||||||
cp "${backup_dir}/launchagent.plist" "${plist}"
|
cp "${backup_dir}/launchagent.plist" "${plist}"
|
||||||
launchctl bootout "${gui}/${label}" >/dev/null 2>&1 || true
|
|
||||||
launchctl bootstrap "${gui}" "${plist}" >/dev/null 2>&1 || true
|
launchctl bootstrap "${gui}" "${plist}" >/dev/null 2>&1 || true
|
||||||
launchctl kickstart -k "${gui}/${label}" >/dev/null 2>&1 || true
|
launchctl kickstart -k "${gui}/${label}" >/dev/null 2>&1 || true
|
||||||
|
else
|
||||||
|
rm -f "${plist}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
trap rollback ERR
|
trap rollback ERR
|
||||||
|
|||||||
Reference in New Issue
Block a user