Files
Mini-Nav/.justfile
SikongJueluo 7450505a86 feat(remote): unify remote execution workflow with env-based config
- Replace hardcoded SSH/docker targets with environment variables
- Add remote-check, remote-dry, remote-test, remote-test-one recipes
- Add remote cmd for arbitrary command execution in docker container
2026-05-03 15:32:32 +08:00

70 lines
2.1 KiB
Makefile

set dotenv-required
export MSYS2_ARG_CONV_EXCL := "*"
export MSYS2_ENV_CONV_EXCL := "*"
remote_ssh_target := env("REMOTE_SSH_TARGET")
remote_docker_container := env("REMOTE_DOCKER_CONTAINER")
remote_root := "$REMOTE_SSH_TARGET:$REMOTE_WORKDIR"
rsync_flags := "-avLh --progress --stats --itemize-changes"
upload_excludes := "--exclude-from=.rsyncignore"
upload:
if command -v cygpath >/dev/null 2>&1 || test -n "${MSYSTEM:-}" || test -n "${CYGWIN:-}"; then \
env MSYS2_ARG_CONV_EXCL='*' rsync {{ rsync_flags }} {{ upload_excludes }} . {{ remote_root }}/; \
else \
rsync {{ rsync_flags }} {{ upload_excludes }} . {{ remote_root }}/; \
fi
download:
if command -v cygpath >/dev/null 2>&1 || test -n "${MSYSTEM:-}" || test -n "${CYGWIN:-}"; then \
env MSYS2_ARG_CONV_EXCL='*' rsync {{ rsync_flags }} {{ remote_root }}/outputs .; \
else \
rsync {{ rsync_flags }} {{ remote_root }}/outputs .; \
fi
sync-pkgs:
uv sync --inexact
sync-data:
python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path data/
python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path data/
ssh:
ssh \
-L 127.0.0.1:22001:127.0.0.1:22000 \
-R 127.0.0.1:22001:127.0.0.1:22000 \
-L 127.0.0.1:8385:127.0.0.1:8384 \
-L 127.0.0.1:9098:127.0.0.1:9098 \
-L 127.0.0.1:2718:172.30.0.2:2718 \
{{ remote_ssh_target }}
docker:
docker exec -it {{ remote_docker_container }} bash
marimo +notebook:
uv run marimo edit {{ notebook }} --host 0.0.0.0 --port 2718 --no-token
add +packages:
uv add {{ packages }} --no-sync
just sync-pkgs
remove +packages:
uv remove {{ packages }} --no-sync
just sync-pkgs
remote cmd:
uv run python scripts/remote_docker_run.py run -- {{ quote(cmd) }}
remote-check:
uv run python scripts/remote_docker_run.py check
remote-dry cmd:
uv run python scripts/remote_docker_run.py run --dry-run -- {{ quote(cmd) }}
remote-test:
uv run python scripts/remote_docker_run.py run -- "uv run pytest -q"
remote-test-one path:
uv run python scripts/remote_docker_run.py run -- "uv run pytest -q {{ path }}"