diff --git a/.github/workflows/rig-3d.yml b/.github/workflows/rig-3d.yml index 7889002..b1f1904 100644 --- a/.github/workflows/rig-3d.yml +++ b/.github/workflows/rig-3d.yml @@ -123,7 +123,8 @@ jobs: path: /tmp/rig-blender-gate/**/validation/*.json browser: name: Three.js browser playback and vertex comparison - runs-on: ubuntu-latest + # Playwright 1.55.0 supports Ubuntu 24.04; ubuntu-latest now selects 26.04. + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 diff --git a/.gitignore b/.gitignore index 74a44a3..d7cfd72 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ __pycache__/ *.py[cod] +/.venv/ +/.venv-rig/ /output/ # Reconstruct these exact production assets from the tracked source transports. diff --git a/paseo.json b/paseo.json new file mode 100644 index 0000000..7a301ef --- /dev/null +++ b/paseo.json @@ -0,0 +1,14 @@ +{ + "worktree": { + "setup": [ + "node -e \"const{spawnSync}=require('node:child_process');const{join}=require('node:path');const py=process.platform==='win32'?'python':'python3';for(const[dir,requirements]of[['.venv','requirements-delivery.txt'],['.venv-rig','requirements-rig-test.txt']]){for(const[exe,args]of[[py,['-m','venv',dir]],[join(dir,process.platform==='win32'?'Scripts/python.exe':'bin/python'),['-m','pip','install','-r',requirements]]]){const r=spawnSync(exe,args,{stdio:'inherit'});if(r.error){console.error(r.error.message);process.exit(1)}if(r.status!==0)process.exit(r.status===null?1:r.status)}}\"", + "npm ci --ignore-scripts --prefix tools/rig" + ], + "teardown": "echo \"Setup starts no persistent services; Paseo handles worktree removal.\"" + }, + "scripts": { + "diff-check": { + "command": "git diff --check" + } + } +}