Skip to content

A web based playground for testing and debugging Renovate configurations in real-time.

License

Notifications You must be signed in to change notification settings

AmadeusITGroup/renovate-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ”§ Renovate Playground

A web based playground for testing and debugging Renovate configurations in real-time.

Features β€’ Quick Start β€’ Usage β€’ Development β€’ Docker β€’ Contributing


Renovate Playground Demo

✨ Features

  • πŸ§ͺ Test Configurations β€” Validate Renovate configs before deploying to production
  • πŸ” Debug Issues β€” Real-time log streaming helps identify configuration problems
  • πŸ“Š Visualize Updates β€” See package files, proposed updates, and branch information
  • πŸ”’ Safe Experimentation β€” Dry-run mode enabled by default, no actual changes made

πŸ“‹ Prerequisites

Requirement Version Notes
Node.js v22.x+ Required
pnpm Latest Package manager
Docker/Podman Any Optional, for containerized deployment

πŸš€ Quick Start

The fastest way to get started is using our pre-built Docker image:

podman run --platform linux/amd64 -p 8080:8080 ghcr.io/amadeusitgroup/renovate-playground:latest

Open your browser: Navigate to http://localhost:8080

πŸ’‘ Tip: Browse all available versions on the GitHub Container Registry.

Building from Source

If you prefer to build locally:

# Clone the repository
git clone https://github.com/AmadeusITGroup/renovate-playground.git
cd renovate-playground

# Install dependencies
pnpm install

# Start the application
pnpm start

Access at http://localhost:4200 (UI with hot reload) or http://localhost:8080 (API)

πŸ“– Usage

Using the Playground

  1. Repository URL β€” Enter the full GitHub repository URL
    Example: https://github.com/owner/repo

  2. Personal Access Token β€” Provide a GitHub PAT with repo scope

  3. Renovate Configuration β€” Enter your configuration in JSON format

  4. Submit β€” Click submit to run Renovate in dry-run mode

  5. View Results β€” Monitor real-time logs and analyze the results

Example Configuration

For the below Dockerfile the following configuration is used which can be checked in the playground and verify whether the dependencies are picked.

# renovate: datasource=github-tags depName=node packageName=nodejs/node versioning=node
ENV NODE_VERSION=20.10.0
# renovate: datasource=github-releases depName=composer packageName=composer/composer
ENV COMPOSER_VERSION=1.9.3
# renovate: datasource=docker packageName=docker versioning=docker
ENV DOCKER_VERSION=19.03.1
# renovate: datasource=npm packageName=yarn
ENV YARN_VERSION=1.19.1
{
  "extends": ["config:recommended"],
  "customManagers": [
    {
      "customType": "regex",
      "description": "Update _VERSION variables in Dockerfiles",
      "managerFilePatterns": [
        "/(^|/|\\.)Dockerfile$/",
        "/(^|/)Dockerfile\\.[^/]*$/"
      ],
      "matchStrings": [
        "# renovate: datasource=(?<datasource>[a-z-]+?)(?: depName=(?<depName>.+?))? packageName=(?<packageName>.+?)(?: versioning=(?<versioning>[a-z-]+?))?\\s(?:ENV|ARG) .+?_VERSION=(?<currentValue>.+?)\\s"
      ]
    }
  ]
}

πŸ’» Development

Available Scripts

Command Description
pnpm start Start both UI and API (recommended for development)
pnpm start:ui Start Angular UI only (port 4200)
pnpm start:api Start NestJS API only (port 8080)
pnpm build Build all applications
pnpm test Run all tests
pnpm lint Lint all projects
pnpm format Format code with Prettier

Development Modes

Unified Mode (Same as Docker)

Run everything on port 8080:

pnpm start:api

Access at http://localhost:8080

Separate Dev Servers (Hot Reload)

For Angular hot reload during development:

# Terminal 1 - API server
pnpm start:api

# Terminal 2 - UI dev server with hot reload
pnpm start:ui

Access at http://localhost:4200 (proxies API requests to port 8080)

🐳 Docker

Build and Run

# Build the image
docker build -t renovate-playground:latest .

# Run the container
docker run -p 8080:8080 renovate-playground:latest

Access at http://localhost:8080

Using Podman

podman build -t renovate-playground:latest .
podman run -p 8080:8080 renovate-playground:latest

πŸ“ Note: The Docker image serves both the API and built UI from the same container on port 8080.

πŸ—οΈ Architecture

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Browser   │────▢│  Angular UI │────▢│  NestJS API  β”‚
β”‚             │◀────│             │◀────│+Renovate CLI β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. User Input β€” Enter repository URL, PAT, and Renovate configuration
  2. Backend Processing β€” NestJS spawns Renovate in dry-run mode
  3. Real-time Streaming β€” Logs streamed via Server-Sent Events (SSE)
  4. Results Display β€” View package files, updates, and branch info

Project Structure

renovate-playground/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ api/                  # NestJS backend
β”‚   β”‚   └── src/app/
β”‚   β”‚       └── playground/   # Renovate execution service
β”‚   └── ui/                   # Angular frontend
β”‚       └── src/
β”œβ”€β”€ Dockerfile                # Multi-stage production build
β”œβ”€β”€ nx.json                   # Nx workspace configuration
└── package.json              # Dependencies and scripts

Technology Stack

Layer Technology
Frontend Angular 20, Amadeus Design Factory
Backend NestJS 11, Renovate, Node.js child processes
Build Nx monorepo, pnpm
Container Docker / Podman

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

πŸ“„ License

See LICENSE for details.


About

A web based playground for testing and debugging Renovate configurations in real-time.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 6