Scripted testing
A shell script is available that runs all of the steps below automatically using mock model files. Downloadmodel_repo_testing.sh from the internal Notion page and run it to validate end-to-end without manually executing each step.
Manual testing
Prerequisites
- Your email is feature-flagged for Model Repo access.
- The following environment variables are exported:
MODEL_NAMEshould be unique for each test run. Reusing the same name uploads a new version of the existing model rather than creating a new one.jqis installed for parsing JSON output.
Step 1: Install Go
Building runpodctl requires Go:Step 2: Build runpodctl
Step 3: Upload the model
Step 4: Wait for the model to be hashed
After upload, the model must be hashed by an asynchronous background process. This typically completes in a few minutes but can take up to 10–15 minutes. Poll until the hash field is non-null:null:
Step 5: Build the model URL
Step 6: Deploy a Serverless endpoint with the model attached
--model-referenceis only supported with--template-idand GPU endpoints.--gpu-idaccepts a single GPU ID — do not pass a comma-separated list.--model-referenceis repeatable if multiple models need to be attached.
Step 7: Verify the model is attached to the worker
- Go to Serverless in the left navigation bar under Resources.
- Select the endpoint you created (
ctl_testif you used the commands above). - Click the Workers tab.
- Select a worker showing a Running status.
- Click Connect, then use the
sshcommand or the Web Terminal. - Run the following to confirm your model files are present:
There is currently no way to retrieve SSH connection details for a running Serverless worker via
runpodctl. Use the web UI to connect.