fix: keep server RC matrix from mutating checkout

This commit is contained in:
Brad Stein 2026-05-04 01:12:20 -03:00
parent be29e2398e
commit b641ac35b4
6 changed files with 27 additions and 12 deletions

6
Cargo.lock generated
View File

@ -1652,7 +1652,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
[[package]]
name = "lesavka_client"
version = "0.19.12"
version = "0.19.13"
dependencies = [
"anyhow",
"async-stream",
@ -1686,7 +1686,7 @@ dependencies = [
[[package]]
name = "lesavka_common"
version = "0.19.12"
version = "0.19.13"
dependencies = [
"anyhow",
"base64",
@ -1698,7 +1698,7 @@ dependencies = [
[[package]]
name = "lesavka_server"
version = "0.19.12"
version = "0.19.13"
dependencies = [
"anyhow",
"base64",

View File

@ -4,7 +4,7 @@ path = "src/main.rs"
[package]
name = "lesavka_client"
version = "0.19.12"
version = "0.19.13"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "lesavka_common"
version = "0.19.12"
version = "0.19.13"
edition = "2024"
build = "build.rs"

View File

@ -24,6 +24,7 @@ LESAVKA_SERVER_RC_DEFAULT_VIDEO_DELAY_US=${LESAVKA_SERVER_RC_DEFAULT_VIDEO_DELAY
LESAVKA_SERVER_RC_MODE_DELAYS_US=${LESAVKA_SERVER_RC_MODE_DELAYS_US:-640x480@20=170000,1280x720@30=170000,1920x1080@20=170000,1920x1080@30=170000}
LESAVKA_SERVER_RC_RECONFIGURE=${LESAVKA_SERVER_RC_RECONFIGURE:-0}
LESAVKA_SERVER_RC_RECONFIGURE_REF=${LESAVKA_SERVER_RC_RECONFIGURE_REF:-master}
LESAVKA_SERVER_RC_RECONFIGURE_UPDATE=${LESAVKA_SERVER_RC_RECONFIGURE_UPDATE:-0}
LESAVKA_SERVER_RC_RECONFIGURE_COMMAND=${LESAVKA_SERVER_RC_RECONFIGURE_COMMAND:-}
LESAVKA_SERVER_RC_CONTINUE_ON_FAIL=${LESAVKA_SERVER_RC_CONTINUE_ON_FAIL:-1}
@ -108,15 +109,17 @@ reconfigure_server_mode() {
ssh ${SSH_OPTS} "${LESAVKA_SERVER_HOST}" bash -s -- \
"${LESAVKA_SERVER_REPO}" \
"${LESAVKA_SERVER_RC_RECONFIGURE_REF}" \
"${LESAVKA_SERVER_RC_RECONFIGURE_UPDATE}" \
"${width}" \
"${height}" \
"${fps}" <<'REMOTE_RECONFIGURE'
set -euo pipefail
repo=$1
ref=$2
width=$3
height=$4
fps=$5
update_checkout=$3
width=$4
height=$5
fps=$6
if [[ "${repo}" == "auto" ]]; then
for candidate in \
"${HOME}/Development/lesavka" \
@ -140,9 +143,18 @@ if [[ "${repo}" == "auto" || ! -f "${repo}/scripts/install/server.sh" ]]; then
fi
printf ' ↪ using server repo: %s\n' "${repo}"
cd "${repo}"
git fetch --all --prune
git checkout "${ref}"
git pull --ff-only
if [[ "${update_checkout}" != "0" ]]; then
if [[ -n "$(git status --porcelain)" ]]; then
printf 'server checkout has local changes; refusing to update it for the mode matrix.\n' >&2
printf 'Run with LESAVKA_SERVER_RC_RECONFIGURE_UPDATE=0, or clean/update the checkout intentionally.\n' >&2
exit 66
fi
git fetch --all --prune
git checkout "${ref}"
git pull --ff-only
else
printf ' ↪ leaving server checkout untouched; set LESAVKA_SERVER_RC_RECONFIGURE_UPDATE=1 to update it first\n'
fi
sudo env \
LESAVKA_REF="${ref}" \
LESAVKA_INSTALL_UVC_CODEC=mjpeg \

View File

@ -10,7 +10,7 @@ bench = false
[package]
name = "lesavka_server"
version = "0.19.12"
version = "0.19.13"
edition = "2024"
autobins = false

View File

@ -191,10 +191,13 @@ fn server_rc_mode_matrix_validates_advertised_uvc_profiles() {
"LESAVKA_SERVER_RC_DEFAULT_VIDEO_DELAY_US=${LESAVKA_SERVER_RC_DEFAULT_VIDEO_DELAY_US:-170000}",
"LESAVKA_SERVER_RC_MODE_DELAYS_US=${LESAVKA_SERVER_RC_MODE_DELAYS_US:-640x480@20=170000,1280x720@30=170000,1920x1080@20=170000,1920x1080@30=170000}",
"LESAVKA_SERVER_RC_RECONFIGURE=${LESAVKA_SERVER_RC_RECONFIGURE:-0}",
"LESAVKA_SERVER_RC_RECONFIGURE_UPDATE=${LESAVKA_SERVER_RC_RECONFIGURE_UPDATE:-0}",
"could not find a Lesavka checkout on this server host",
"Set LESAVKA_SERVER_REPO=/path/to/lesavka",
"/home/theia/Development/lesavka",
"using server repo:",
"server checkout has local changes; refusing to update it for the mode matrix",
"leaving server checkout untouched",
"LESAVKA_SERVER_RC_FRESHNESS_MAX_AGE_MS=${LESAVKA_SERVER_RC_FRESHNESS_MAX_AGE_MS:-350}",
"LESAVKA_SERVER_RC_MAX_VIDEO_HICCUPS=${LESAVKA_SERVER_RC_MAX_VIDEO_HICCUPS:-0}",
"LESAVKA_SERVER_RC_MAX_AUDIO_HICCUPS=${LESAVKA_SERVER_RC_MAX_AUDIO_HICCUPS:-0}",