Overview
OpenReward integrates seamlessly with GitHub to provide continuous deployment for your environments. When you push code to a connected repository, OpenReward automatically:- Builds your container image
- Deploys the new version
- Makes your environment available
Prerequisite: You must create an environment before connecting a GitHub repository. See Your First Environment for setup instructions.
Connecting a Repository
Via OpenReward Web UI
-
Navigate to Environment Page
- Go to
https://openreward.ai/{username}/{environment-name}
- Go to
-
Connect GitHub Repository
- Click “Connect GitHub” button
- You will need to login to github, and grant read access to the desired repository
- Select the repository from dropdown
-
Configure Build Settings
- Resource Allocation: CPU and memory for environment
- Scaling settings: Minimum and maximum number of instances, and the number of sessions per instance
-
Deploy
- Click “Deploy” button
- First build starts immediately
Deployment Flow
Automatic Deployment on Push
Once connected, deployments happen automatically:Monitoring Deployments
Deployment Status
Via Web UI:- Navigate to environment page
- Click “Deployments” tab
- See list of recent deployments with status:
- ⏳ Building: Build in progress
- ✅ Deployed: Successfully deployed
- ❌ Failed: Build or deployment failed
- Git commit SHA and message
- Triggered by (push or manual)
- Build duration
- Deployment timestamp
Build Logs
View in OpenReward:- Go to “Deployments” tab
- Click on deployment
- View build logs inline
Environment Logs
View in OpenReward:- Go to environment page
- Click “Logs” tab
- See real-time logs from your environment server
Resource Configuration
CPU and Memory: Configure via Web UI:- Choose appropriate size for your workload
- Options like “1:2” (1 CPU, 2GB RAM)
- Minimum instances: Scales to zero when idle (saves cost)
- Maximum instances: Limit concurrent environment servers
- Sessions per instance: How many agents per server
Branch and Tag Filtering
Deploy from Specific Branch:- Set in repository connection settings
- Only pushes to this branch trigger deployments
- Default:
main
Best Practices
Use multi-stage Docker builds
Use multi-stage Docker builds
Reduce image size and build time:
Test builds locally before pushing
Test builds locally before pushing
Catch issues early:
Use .dockerignore to reduce context
Use .dockerignore to reduce context
Exclude unnecessary files from build context:Faster builds, smaller images
Keep images small
Keep images small
- Use slim base images (python:3.11-slim vs python:3.11)
- Remove unnecessary dependencies
- Use multi-stage builds
- Clean up after installations
Use meaningful commit messages
Use meaningful commit messages
Commit messages appear in deployment history:

