Code Examples and Common Workflows
Working with Source Code
You can create a build directly from local source files, instead of from a GitHub repository:
signaloid-cli builds create:source \
--file main.c \
--lang C \
--args "--enable-uncertainty"
Visualizing Results
If your task produces UxHw strings (uncertainty values), you can create plots to visualize them:
signaloid-cli plot ux-string \
--ux-string "90.600000Ux..." \
--out distributions/
Example Workflow
# Single-file build and run
signaloid-cli builds create:source --file test.c --lang C
signaloid-cli tasks create --build-id <id>
signaloid-cli tasks output --task-id <id>
File Management
Upload data file:
signaloid-cli files upload --path data/input.csv --from ./local.csv
List files:
signaloid-cli files ls --path data/
Download results:
signaloid-cli files download --path results/output.txt
List Available Cores
signaloid-cli cores list
Check Help Anytime
Every command has built-in help:
signaloid-cli --help
signaloid-cli tasks --help
signaloid-cli tasks create --help
Using Authentication in Scripts
Shell Scripts
#!/bin/bash
API_KEY="your-api-key-here"
# Login
signaloid-cli auth login --api-key $API_KEY
# Verify
if signaloid-cli auth whoami &> /dev/null; then
echo "✓ Authenticated successfully"
else
echo "✗ Authentication failed"
exit 1
fi
# Your commands here
signaloid-cli repos list
Using Secrets Management
For production environments, use a secrets manager:
# Example with AWS Secrets Manager
API_KEY=$(aws secretsmanager get-secret-value \
--secret-id signaloid/api-key \
--query SecretString \
--output text)
signaloid-cli auth login --api-key $API_KEY
CI/CD Integration
GitHub Actions
name: Signaloid Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: '22'
- name: Install Signaloid CLI
run: npm install -g @signaloid/signaloid-cli
- name: Authenticate
env:
SIGNALOID_API_KEY: ${{ secrets.SIGNALOID_API_KEY }}
run: signaloid-cli auth login --api-key $SIGNALOID_API_KEY
- name: Run build
run: |
signaloid-cli builds create:repo --repo-id $REPO_ID
GitLab CI
build:
script:
- npm install -g @signaloid/signaloid-cli
- signaloid-cli auth login --api-key $SIGNALOID_API_KEY
- signaloid-cli builds create:repo --repo-id $REPO_ID
variables:
SIGNALOID_API_KEY: $SIGNALOID_API_KEY
Tips and Tricks
Use JSON Output with jq
All commands output JSON, making them perfect for scripting:
# Extract specific fields
BUILD_ID=$(signaloid-cli builds create:repo --repo-id $REPO_ID | jq -r '.BuildID')
# Filter and format
signaloid-cli tasks list | jq '.Tasks[] | select(.Status == "completed")'
Set Environment Variables
Store your API key in an environment variable:
export SIGNALOID_API_KEY="your-key"
Then authenticate without typing it:
signaloid-cli auth login --api-key $SIGNALOID_API_KEY