GPU-aware automation and CI engine for the gpucomm organization.
- GPU / CUDA validation in PRs
- CI checks for compute pipelines
- Benchmark triggers before release
- Issue and PR automation
- /gpu-check → run GPU validation
- /benchmark → run performance tests
- /pause → pause automation
- /analyze → manual validation
Minimal, GPU-focused, automation-first.
- Copy
.env.exampleto.envand fill in values - Install dependencies:
npm install - Start the bot:
npm start - For public webhook access, use ngrok:
Use the ngrok HTTPS URL +
ngrok http 3000
/webhookas your GitHub App webhook URL.
We tried Railway first but the trial expired. Render was used instead with free tier.
- Create a Render account and connect your GitHub repo
- Create a Web Service with:
- Build Command:
npm install - Start Command:
npm start - Plan: Free
- Build Command:
- Add environment variables:
PORT=3000 HOST=0.0.0.0 WEBHOOK_SECRET=<your-secret> GITHUB_APP_ID=<your-app-id> GITHUB_INSTALLATION_ID=<your-installation-id> GITHUB_PRIVATE_KEY_B64=<base64-encoded-pem> GPUCOMM_GPU_LABEL=gpu-required
- Create: Go to https://github.com/settings/apps/new and create an app named
gpucomm-bot - Install: Install the app on your account/org at https://github.com/apps/gpucomm-bot/installations/new
- Webhook: In GitHub App settings → Webhook, enter
https://<your-domain>/webhook - Permissions: Set to: Pull requests (read/write), Issues (read/write), Contents (read), Metadata (read)
- Events: Subscribe to: Pull request, Issues, Release
- Private key: Generate a private key, then convert to base64:
base64 -i private-key.pem | tr -d '\n'
PR with gpu-required label applied:
Issue with bot comment:
GPU CI (.github/workflows/gpu.yml) is configured for a self-hosted runner with NVIDIA drivers + CUDA toolkit.
- Runner labels:
self-hosted,linux,x64,gpu - Workflow gate: runs only if PR has label
gpu-requiredor the PR title containsgpu/cuda - CUDA smoke test:
bash scripts/gpu-ci.sh(compilesscripts/cuda_smoke_test.cuwithnvcc) - Optional: set
GPUCOMM_ENFORCE_CUDA_VERSION=trueto enforceconfig/gpu.json.allowed_cuda_versions - PyTorch smoke test: set repo/org variable
PYTORCH_INDEX_URL(example:https://download.pytorch.org/whl/cu121) then runbash scripts/gpu-ci.sh pytorch
To let the bot comment/label on PRs, configure these environment variables for the running service:
GITHUB_APP_ID: GitHub App IDGITHUB_INSTALLATION_ID: installation ID for the target org/repoGITHUB_PRIVATE_KEY(PEM string) orGITHUB_PRIVATE_KEY_B64(base64 PEM)- Optional:
GITHUB_API_URL(defaults tohttps://api.github.com, set this for GHES) - Optional:
GPUCOMM_GPU_LABEL(label name to apply for GPU-related PRs; label should already exist)

