Installing the GitHub App
Navigate to Git Settings
Go to platform.osmosis.ai → Settings → Workspace → Git
Connect GitHub
Click Connect Repository and authorize the Osmosis GitHub App. You can grant access to all repositories or select specific ones.
Select Repository
Choose the repository you want to sync. Both public and private repositories are supported.
How Auto-Sync Works
Once connected, the sync process is automatic:- You push code to your repository (any branch configured for sync)
- GitHub sends a webhook to the Osmosis platform
- Osmosis pulls the latest code and scans for components
- Components are deployed — tools, reward functions, and rubrics become available for training runs
What Gets Synced
Osmosis discovers MCP tools, reward functions, and reward rubrics based on the required folder structure. Dependencies are read frompyproject.toml in the repository root.
Sync Status Dashboard
After connecting a repository, the sync dashboard shows:- Last sync time — When the most recent sync completed
- Sync status — Success, failed, or in progress
- Discovered components — List of tools, reward functions, and rubrics found
- Sync history — Log of recent sync events with details
Managing Connected Repositories
From Settings → Workspace → Git:- View all connected repositories and their sync status
- Trigger manual sync if you need to force a re-sync
- Disconnect a repository to stop syncing
Troubleshooting
Sync not triggering after push
Sync not triggering after push
- Verify the Osmosis GitHub App is installed on the repository
- Check that the webhook is active in GitHub → Repository Settings → Webhooks
- Ensure you’re pushing to the branch configured for sync
- Try triggering a manual sync from the platform dashboard
Components not discovered
Components not discovered
- Confirm your folder structure matches the expected layout
- Check that decorators are applied correctly (
@mcp.tool(),@osmosis_reward,@osmosis_rubric) - Verify
pyproject.tomllists all required dependencies - Review sync logs for import errors
Private repository access denied
Private repository access denied
- Re-authorize the GitHub App and ensure it has access to the specific repository
- Check repository permissions in GitHub → Settings → GitHub Apps → Osmosis
- For organization repositories, ensure an admin has approved the app installation
Sync shows errors
Sync shows errors
- Check the sync logs on the dashboard for specific error messages
- Common issues: missing dependencies in
pyproject.toml, syntax errors in Python files, missing__init__.pyfiles - Test your code locally before pushing:
pip install -e . && python -c "from reward_fn.compute_reward import *"