@@ -252,6 +252,37 @@ test_release_root_overrides_stale_source_path_env() {
252252 )
253253}
254254
255+ test_update_picks_up_latest_commit () {
256+ (
257+ set -euo pipefail
258+ local tmp repo release_root sha1 sha2 current_sha
259+
260+ tmp=" $( mktemp -d /tmp/baudbot-update-test.XXXXXX) "
261+ trap ' rm -rf "$tmp"' EXIT
262+
263+ repo=" $tmp /repo"
264+ release_root=" $tmp /opt/baudbot"
265+
266+ make_repo " $repo "
267+ sha1=" $( git -C " $repo " rev-parse HEAD) "
268+
269+ run_update " $repo " " $release_root " " test -f hello.txt"
270+
271+ current_sha=" $( readlink -f " $release_root /current" ) "
272+ [ " $current_sha " = " $release_root /releases/$sha1 " ]
273+
274+ # Push a new commit and update again — must land on the new SHA.
275+ new_commit " $repo " " latest-tip"
276+ sha2=" $( git -C " $repo " rev-parse HEAD) "
277+ [ " $sha1 " != " $sha2 " ]
278+
279+ run_update " $repo " " $release_root " " test -f hello.txt"
280+
281+ current_sha=" $( readlink -f " $release_root /current" ) "
282+ [ " $current_sha " = " $release_root /releases/$sha2 " ]
283+ )
284+ }
285+
255286test_resolve_npm_from_fake_agent_home () {
256287 (
257288 set -euo pipefail
@@ -364,6 +395,7 @@ run_test "publishes git-free release snapshot" test_publish_git_free_release
364395run_test " preflight failure keeps current release" test_preflight_failure_keeps_current
365396run_test " deploy failure keeps current release" test_deploy_failure_keeps_current
366397run_test " release root overrides stale source env" test_release_root_overrides_stale_source_path_env
398+ run_test " update picks up latest commit" test_update_picks_up_latest_commit
367399run_test " resolves npm from agent embedded runtime" test_resolve_npm_from_fake_agent_home
368400run_test " resolves npm from sudo user home" test_resolve_npm_from_fake_sudo_user_home
369401run_test " resolve_npm_bin fails when npm missing" test_resolve_npm_fails_when_missing
0 commit comments