Align the Ruby, Node.js, and npm install path with the rest of the config. Three separate upstream installers were being invoked via \`curl ... | bash\` or unlocked \`npm install\`: - RVM's \`get.rvm.io/stable\` installer (mutable upstream script). Replace with a shallow git clone of the rvm/rvm repo at tag 1.29.12 and verify HEAD matches the published commit SHA before running the local \`./install\` script. Same pattern already used for the helm-unittest plugin in .github/workflows/helm_unit_test.yml. - NodeSource's \`deb.nodesource.com/setup_18.x\` piped into sudo bash. Replace with a direct download of the Node.js 18.20.8 linux-x64 tarball from nodejs.org, verified against the published SHASUMS256.txt digest before extraction. - \`npm install @google-cloud/vertexai @google/generative-ai\` and \`--save-dev jest\` resolved fresh from the npm registry on every run. Add \`tests/pass_through_tests/package.json\` with pinned direct-dep versions and commit the generated package-lock.json, then switch CI to \`npm ci\` (exact lockfile install, fails on drift). Also scopes the Ruby+JS test runners to \`tests/pass_through_tests/\` so they pick up the committed package.json rather than writing node_modules at repo root. |
||
|---|---|---|
| .. | ||
| ruby_passthrough_tests | ||
| base_anthropic_messages_test.py | ||
| package-lock.json | ||
| package.json | ||
| test_anthropic_passthrough_basic.py | ||
| test_anthropic_passthrough_python_sdkpy | ||
| test_anthropic_passthrough.py | ||
| test_assembly_ai.py | ||
| test_gemini_with_spend.test.js | ||
| test_gemini.js | ||
| test_hosted_vllm_passthrough.py | ||
| test_local_gemini.js | ||
| test_local_vertex.js | ||
| test_mcp_routes.py | ||
| test_openai_assistants_passthrough.py | ||
| test_vertex_ai.py | ||
| test_vertex_with_spend.test.js | ||
| test_vertex.test.js | ||
| vertex_key.json | ||