Dependency updating tools like Renovate fall short when dependency updates introduce backwards incompatible breaking changes. Ona bridges the gap by analyzing failing PRs, understanding the breaking changes, and automatically applying fixes.

Caption: Video showing Ona automatically fixing a failing Renovate PR by analyzing breaking changes and applying necessary code fixes.

Prerequisites

Before using Ona to handle Renovate dependencies, ensure your development environment has the necessary tools and authentication.

1. Configure GitHub CLI access

Add the GitHub CLI feature to your dev container configuration:

{
  "features": {
    "ghcr.io/devcontainers/features/github-cli:1": {}
  }
}

2. Set up GitHub authentication

Configure GitHub authentication using either:

Option A: Using existing GitHub App permissions

If your GitHub app has the necessary permissions, Gitpod will automatically provide the GitHub token.

Option B: Adding a Personal Access Token

  1. Navigate to Settings > Secrets in your Gitpod dashboard
  2. Create a new user secret named GITHUB_TOKEN
  3. Add your GitHub personal access token as the value

3. Update your startup script

Create a setup script that authenticates with GitHub CLI:

#!/bin/bash
# .devcontainer/setup.sh

# Authenticate with GitHub CLI
echo $GITHUB_TOKEN | gh auth login --with-token

# Verify authentication
gh auth status

Reference this script in your dev container configuration:

{
  "postCreateCommand": "bash .devcontainer/setup.sh"
}

Example Prompts

Find the failing Renovate pull request in this repository and fix any breaking changes that are causing CI failures. Run the tests to ensure everything works correctly, then push the fixes to the PR branch.