Skip to content

Troubleshooting Guide ​

Common Issues ​

Manifest Not Generated ​

Symptoms:

  • Workflow completes but no .dependabit/ folder created
  • Action output shows 0 dependencies found

Possible Causes & Solutions:

  1. LLM Provider Not Available

    Error: GitHub Copilot CLI not found
    • Ensure GitHub Copilot is enabled for your organization
    • Check that the gh CLI is installed on the runner
    • Verify authentication: gh auth status
  2. No Discoverable Dependencies

    • Repository may not have external documentation links
    • Check README.md and code comments for URLs
    • Try running with debug: true for verbose output
  3. Permission Issues

    Error: Resource not accessible by integration
    • Add contents: write permission to workflow
    • Check repository settings for Actions permissions

Debug Command:

yaml
- uses: pradeepmouli/dependabit@v1
  with:
    action: generate
    debug: 'true'  # Enable verbose logging

No Issues Created on Change Detection ​

Symptoms:

  • Check action detects changes
  • No GitHub issues appear
  • Logs show "Issue creation skipped"

Possible Causes & Solutions:

  1. Missing Permissions

    yaml
    permissions:
      issues: write  # Required for issue creation
  2. Issue Already Exists

    • Dependabit prevents duplicate issues
    • Check for existing open issues with dependabit label
    • Close or resolve existing issues first
  3. Monitoring Disabled

    yaml
    # .dependabit/config.yml
    monitoring:
      enabled: true  # Must be true
  4. Severity Filter Too High

    yaml
    - uses: pradeepmouli/dependabit@v1
      with:
        action: check
        severity_filter: minor  # Allow all severities

High False Positive Rate ​

Symptoms:

  • Many issues created for non-meaningful changes
  • Content change detected but not relevant
  • User reports issues as false positives

Possible Causes & Solutions:

  1. Noisy URLs (ads, analytics, timestamps)

    yaml
    # .dependabit/config.yml
    ignore:
      patterns:
        - ".*analytics.*"
        - ".*tracking.*"
        - ".*timestamp=.*"
  2. Volatile Content (news, feeds)

    yaml
    dependencies:
      - url: "https://volatile-site.com/feed"
        monitoring:
          ignoreChanges: true  # Track but don't alert
  3. Low Detection Confidence

    yaml
    monitoring:
      falsePositiveThreshold: 0.2  # Require higher confidence
  4. HTML Normalization Issues

    • Dynamic content causing hash changes
    • Contact maintainers for improved normalizer

Reporting False Positives:

  • Add false-positive label to generated issues
  • Dependabit tracks this for accuracy metrics
  • Feedback helps improve detection

Rate Limit Exceeded ​

Symptoms:

Error: GitHub API rate limit exceeded
You have exceeded a secondary rate limit

Possible Causes & Solutions:

  1. Too Many Dependencies

    • Reduce check frequency for large manifests
    yaml
    schedule:
      interval: weekly  # Instead of daily
  2. Concurrent Workflows

    • Add concurrency control:
    yaml
    concurrency:
      group: dependabit-${{ github.ref }}
      cancel-in-progress: true
  3. Per-Dependency Rate Limiting

    yaml
    dependencies:
      - url: "https://frequently-checked.com"
        schedule:
          interval: weekly  # Reduce frequency
  4. Use Authenticated Requests

    yaml
    - uses: pradeepmouli/dependabit@v1
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}

Checking Rate Limit:

bash
gh api rate_limit

Manifest Validation Fails ​

Symptoms:

Error: Schema validation failed
Error: Duplicate dependency IDs found
Error: Invalid URL format

Common Validation Errors:

  1. Invalid UUID

    json
    {
      "id": "not-a-uuid"  // ❌ Wrong
      "id": "550e8400-e29b-41d4-a716-446655440000"  // ✓ Correct
    }
  2. Missing Required Fields

    json
    {
      "url": "https://example.com",
      // Missing: type, accessMethod, name, currentStateHash, etc.
    }
  3. Invalid Timestamps

    json
    {
      "lastChecked": "2024-01-15"  // ❌ Missing time
      "lastChecked": "2024-01-15T00:00:00Z"  // ✓ ISO 8601
    }
  4. Statistics Mismatch

    • totalDependencies must equal dependencies.length
    • Counts in byType must sum to total

Validation Command:

yaml
- uses: pradeepmouli/dependabit@v1
  with:
    action: validate
    manifest_path: .dependabit/manifest.json

LLM Analysis Fails ​

Symptoms:

Error: LLM request failed
Error: Token limit exceeded
Error: Rate limit for Copilot CLI

Possible Causes & Solutions:

  1. Token Budget Exceeded

    yaml
    llm:
      maxTokens: 8000  # Increase limit
  2. Copilot Rate Limited

    • Wait and retry (automatic with backoff)
    • Reduce analysis frequency
    • Use batch processing
  3. Invalid API Key (for non-Copilot providers)

    • Verify secret is set: Settings → Secrets → Actions
    • Check key hasn't expired
    • Ensure key has required permissions
  4. Network Issues

    • Add retry logic (built-in)
    • Check GitHub Actions status page

Workflow Timeout ​

Symptoms:

Error: The job running on runner has exceeded the maximum execution time

Solutions:

  1. Reduce Dependency Count

    yaml
    dependencies:
      - url: "https://low-priority.com"
        monitoring:
          enabled: false  # Skip low-priority deps
  2. Increase Timeout

    yaml
    jobs:
      check:
        timeout-minutes: 30  # Default is 360
  3. Optimize Check Frequency

    • Not all deps need daily checks
    • Use per-dependency schedules
  4. Parallelize

    • Split manifest into multiple workflows
    • Use matrix strategy for parallel checks

Debug Mode ​

Enable comprehensive logging:

yaml
- uses: pradeepmouli/dependabit@v1
  with:
    action: check
    debug: 'true'
  env:
    ACTIONS_STEP_DEBUG: true

Debug output includes:

  • LLM prompts and responses
  • API request/response details
  • Timing information
  • Rate limit status
  • Content normalization steps

Log Analysis ​

Finding the Root Cause ​

  1. Check Action Outputs

    Run pradeepmouli/dependabit@v1
    with:
      action: check

    Look for error messages after this line.

  2. Review Annotations

    • Warnings appear as yellow annotations
    • Errors appear as red annotations
  3. Download Artifacts

    • Debug logs often saved as artifacts
    • Download for local analysis

Common Log Patterns ​

Successful Check:

Checking 15 dependencies (2 skipped)...
✓ react.dev/reference: no changes
✓ github.com/vercel/ai: version 3.0.0 → 3.1.0 (minor)
Changes detected: 1
Issues created: 1

Rate Limit Warning:

⚠ GitHub API rate limit: 50/5000 remaining
Waiting 30 seconds for rate limit reset...

LLM Fallback:

⚠ LLM analysis unavailable, using programmatic detection only
Detection confidence may be lower

Getting Help ​

Before Asking for Help ​

  1. Check this guide for common issues
  2. Enable debug mode and review logs
  3. Validate your manifest manually
  4. Check GitHub Actions status for platform issues

Filing an Issue ​

Include:

  1. Workflow file (sanitize secrets)
  2. Action version (e.g., pradeepmouli/dependabit@v1.2.3)
  3. Error messages (full log preferred)
  4. Manifest snippet (if relevant)
  5. Expected vs actual behavior

Issue Template:

markdown
## Description
Brief description of the issue

## Reproduction Steps
1. Configure workflow with...
2. Run generate action...
3. Observe error...

## Expected Behavior
What should happen

## Actual Behavior
What actually happens

## Logs
\`\`\`
[Paste relevant logs here]
\`\`\`

## Environment
- Dependabit version: v1.x.x
- Runner: ubuntu-latest
- Node version: 20

Support Resources ​

Released under the MIT License.