signaloid-cli repos
Manage GitHub repositories connected to Signaloid Cloud Compute Engine.
Synopsis
signaloid-cli repos <command> [options]
Description
The repos command group allows you to connect GitHub repositories to Signaloid, manage their settings, and create builds from them. Connected repositories can be built on Signaloid's specialized compute cores.
Commands
- list - List all connected repositories
- get - Get details about a specific repository
- connect - Connect a new GitHub repository to Signaloid
- update - Update repository settings
- disconnect - Disconnect a connected repository
- builds - List builds for a specific repository
Complete Workflow Example
#!/bin/bash
# 1. Connect repository
echo "Connecting repository..."
REPO_RESPONSE=$(signaloid-cli repos connect \
--url https://github.com/signaloid/Signaloid-Demo-C-Template \
--branch main \
--dir src)
REPO_ID=$(echo $REPO_RESPONSE | jq -r '.RepositoryID')
echo "✓ Repository connected: $REPO_ID"
# 2. Verify connection
echo "Fetching repository details..."
signaloid-cli repos get --repo-id $REPO_ID
# 3. Create a build (see builds manual)
echo "Creating 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"
# 4. List builds for this repository
echo "Listing builds..."
signaloid-cli repos builds --repo-id $REPO_ID --limit 5
# 5. Update repository settings (if needed)
# signaloid-cli repos update --repo-id $REPO_ID --branch develop
# 6. Clean up (optional)
# signaloid-cli repos disconnect --repo-id $REPO_ID
GitHub Integration
Prerequisites
Before connecting repositories, ensure:
- Your GitHub account is connected to Signaloid
- You have access to the repository
- For private repos, GitHub OAuth is configured
Connecting GitHub Account
- Log in to signaloid.io
- Navigate to Settings → Integrations
- Connect your GitHub account
- Authorize Signaloid to access your repositories
Repository Requirements
Your repository should:
- Contain C/C++ or Fortran source code
- Have a valid build directory (default:
src/) - Include necessary build files (Makefile, CMakeLists.txt, etc.)
- Be accessible to your Signaloid account
Exit Codes
| Code | Description |
|---|---|
0 | Success |
1 | Error (authentication, invalid input, API error) |
Configuration
Core IDs
Available core IDs can be listed with:
signaloid-cli cores list
Tips & Tricks
Extract and Use Repository IDs
# Get all repository IDs
REPO_IDS=$(signaloid-cli repos list | jq -r '.Repositories[].RepositoryID')
# Process each repository
for REPO_ID in $REPO_IDS; do
echo "Repository: $REPO_ID"
signaloid-cli repos builds --repo-id $REPO_ID --limit 1
done
Monitor Repository Builds
# Get latest build status for a repository
LATEST_BUILD=$(signaloid-cli repos builds --repo-id $REPO_ID --limit 1 | \
jq -r '.Builds[0]')
BUILD_ID=$(echo $LATEST_BUILD | jq -r '.BuildID')
STATUS=$(echo $LATEST_BUILD | jq -r '.Status')
echo "Latest build: $BUILD_ID (Status: $STATUS)"
Automated Repository Updates
#!/bin/bash
REPO_ID="rep_abc123"
BRANCH="main"
# Get current commit from GitHub
LATEST_COMMIT=$(git ls-remote https://github.com/user/project.git $BRANCH | cut -f1)
# Update repository to latest commit
signaloid-cli repos update \
--repo-id $REPO_ID \
--commit $LATEST_COMMIT \
--branch $BRANCH
echo "Repository updated to commit: $LATEST_COMMIT"
# Trigger new build
BUILD_ID=$(signaloid-cli builds create:repo --repo-id $REPO_ID | \
jq -r '.BuildID')
echo "New build created: $BUILD_ID"
See Also
- signaloid-cli builds - Create and manage builds
- signaloid-cli tasks - Run tasks from builds
- signaloid-cli auth - Authentication
Learn More
- Quick Start Guide - Get started with repository workflows
- Signaloid Cores - Available compute cores