Skip to main content

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

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.

Using Your Own Repository?

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"

Got Questions?

For more detailed information, see the Command Reference.