Skip to main content
The Dumpstarr Database does not maintain its own release group tier lists. Instead, it pulls them directly from the Dictionarry-Hub/database repository and syncs them into the local regex_patterns/ files on a daily schedule.

How it works

A GitHub Actions workflow runs every day at midnight UTC (cron: "0 0 * * *"). It:
  1. Checks out the stable branch of the Dumpstarr Database.
  2. Downloads the latest source YAML files from the stable branch of Dictionarry-Hub/database.
  3. Runs a Python sync script that merges the downloaded group lists into the local regex pattern files.
  4. Commits and pushes any changes back to the stable branch.
All synced changes land on the stable branch. This is the branch Profilarr users point at, so updates are available on the next Profilarr sync without any manual action.

Workflow schedule

on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:
The workflow_dispatch trigger also allows the sync to be run manually from the GitHub Actions UI at any time.

What gets synced

The workflow maintains a JSON file map that defines which Dictionarry source file maps to which local regex_patterns/ file. The full mapping covers:
CategoryTiers synced
WEBTiers 01 – 05
480p BlurayTiers 01 – 04
576p BlurayTiers 01 – 04
720p BlurayTiers 01 – 06
1080p (HD) BlurayTiers 01 – 06
2160p (UHD) BlurayTiers 01 – 06
RemuxTiers 01 – 04
Each entry maps a Dictionarry source path to its corresponding local file:
# Excerpt from the workflow's file_map.json
{
  "custom_formats/WEB-DL Tier 1.yml": "regex_patterns/Dictionarry WEB Tier 01.yml",
  "custom_formats/WEB-DL Tier 2.yml": "regex_patterns/Dictionarry WEB Tier 02.yml",
  "custom_formats/WEB-DL Tier 3.yml": "regex_patterns/Dictionarry WEB Tier 03.yml",
  "custom_formats/1080p Quality Tier 1.yml": "regex_patterns/Dictionarry HD Tier 01.yml",
  "custom_formats/1080p Quality Tier 2.yml": "regex_patterns/Dictionarry HD Tier 02.yml",
  "custom_formats/2160p Quality Tier 1.yml": "regex_patterns/Dictionarry UHD Tier 01.yml",
  "custom_formats/Remux Tier 1.yml": "regex_patterns/Dictionarry Remux Tier 01.yml"
}

Full workflow snippet

name: Sync Group Tiers from Dictionarry

on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout target repo
        uses: actions/checkout@v4
        with:
          token: ${{ secrets.REPO_PAT }}
          ref: stable

      - name: Run Sync Script
        run: python .github/scripts/sync_release_groups.py file_map.json

      - name: Commit and push changes
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add regex_patterns/*.yml
          if git diff --staged --quiet; then
            echo "No changes to commit."
          else
            git commit -m "Update to Dictionarry Release Group Tiers"
            git push
          fi
Users don’t need to do anything. Profilarr pulls the updated database on its next scheduled sync, so your Radarr and Sonarr instances always reflect the latest Dictionarry tier lists automatically.
Do not manually edit any regex_patterns/Dictionarry *.yml files. They are overwritten by the daily sync workflow and any manual changes will be lost.

Build docs developers (and LLMs) love