Quick Start
This guide walks you through your first end-to-end workflow of creating and running a task on the Signaloid Cloud Compute Engine from the command line.
By the end of this guide, you'll be able to:
- Authenticate with Signaloid Cloud Compute Engine
- Connect a GitHub repository
- Create and monitor builds
- Run computational tasks
- Retrieve results
Prerequisites
- Signaloid CLI (Installation Guide)
- Signaloid API key (Create one here)
- A GitHub account connected to your Signaloid account (Connection guide)
Step 1: Authentication
Log in with your API key:
signaloid-cli auth login --api-key YOUR_API_KEY
Output:
✔ API key authenticated
Hello, YourName!
Step 2: Connect a Repository
Connect to the Signaloid demo repository:
signaloid-cli repos connect \
--url https://github.com/signaloid/Signaloid-Demo-Metallurgy-BrownHamModel \
--branch main \
--dir src
Output:
{
"RepositoryID": "rep_abc123...",
"RemoteURL": "https://github.com/signaloid/Signaloid-Demo-Metallurgy-BrownHamModel",
"Branch": "main",
...
}
💡 Copy the Repository ID for the next step.
Make sure your repository:
- Contains C/C++ source code
- Has a build directory (default:
src/) - Is accessible to your Signaloid account
Step 3: Create a Build
Create a build from your connected repository:
signaloid-cli builds create:repo --repo-id rep_abc123...
Output:
{
"BuildID": "bld_xyz789...",
"Status": "Accepted",
"RepositoryID": "rep_abc123...",
...
}
💡 Copy the Build ID for the next step.
Step 4: Run a Task
Once your build completes, create a task to run your application. Enter the BuildID and any optional arguments required to run the application:
signaloid-cli tasks create \
--build-id bld_xyz789... \
--args "-A argA -B argB"
Output:
{
"TaskID": "tsk_qrs456...",
"BuildID": "bld_xyz789...",
"Status": "In Progress",
...
}
The application in the Signaloid demo repository contains default values for all required arguments.
Step 5: Get Output
Retrieve the task output:
signaloid-cli tasks output --task-id tsk_qrs456...
Output:
{
"result": "...",
"uxStrings": ["90.600000Ux..."],
...
}
Save Output to File
To save the output:
signaloid-cli tasks output \
--task-id tsk_qrs456... \
--out ./results/output.txt
Complete Workflow Example
Here's the entire workflow in one script:
#!/bin/bash
# Configuration
API_KEY="your-api-key-here"
REPO_URL="https://github.com/signaloid/Signaloid-Demo-Metallurgy-BrownHamModel"
# 1. Login
signaloid-cli auth login --api-key $API_KEY
# 2. Connect repository
REPO_RESPONSE=$(signaloid-cli repos connect \
--url $REPO_URL \
--branch main \
--dir src)
REPO_ID=$(echo $REPO_RESPONSE | jq -r '.RepositoryID')
echo "Repository connected: $REPO_ID"
# 3. Create and monitor build
BUILD_RESPONSE=$(signaloid-cli builds create:repo --repo-id $REPO_ID)
BUILD_ID=$(echo $BUILD_RESPONSE | jq -r '.BuildID')
echo "Build created: $BUILD_ID"
signaloid-cli builds watch --build-id $BUILD_ID
# 4. Run and monitor task
TASK_RESPONSE=$(signaloid-cli tasks create \
--build-id $BUILD_ID)
TASK_ID=$(echo $TASK_RESPONSE | jq -r '.TaskID')
echo "Task created: $TASK_ID"
signaloid-cli tasks watch --task-id $TASK_ID
# 5. Get output
signaloid-cli tasks output --task-id $TASK_ID --out ./results.txt
echo "Results saved to results.txt"
For more detailed information, see the Command Reference.