✦ Sample Prompt
Update all GitHub Actions workflow files to use current runner images.

For every .github/workflows/*.yml file in each repository:

1. Replace runs-on: ubuntu-20.04 with runs-on: ubuntu-24.04
2. Replace runs-on: ubuntu-22.04 with runs-on: ubuntu-24.04
3. Replace runs-on: macos-12 with runs-on: macos-14
4. Leave any self-hosted runner labels unchanged
5. Leave runs-on: ubuntu-latest unchanged (it already points to the current image)

Do not modify any other part of the workflow files.

The Problem

GitHub periodically deprecates runner images, `ubuntu-18.04` was removed, `ubuntu-20.04` is reaching end-of-life, and `macos-11` is already gone. When a runner image is deprecated, every workflow using it needs to be updated or it stops working. For an organization with hundreds of repositories, each containing one or more workflow files, this is a straightforward but tedious change that touches a lot of files.

The same pattern applies when switching between GitHub-hosted and self-hosted runners, or updating self-hosted runner labels after infrastructure changes. The code change is simple. The coordination across hundreds of repos is what makes it painful.

What Tidra Does

  1. Scans each repository for GitHub Actions workflow files under .github/workflows/
  2. Identifies any runs-on: directives that reference deprecated or outdated runner images
  3. Updates the runner references to current images while preserving all other workflow configuration
  4. Creates a PR with a concise description listing which runners were updated in each workflow file

Before & After

diff
.github/workflows/ci.yml
@@ -6,7 +6,7 @@
jobs:
build:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
.github/workflows/deploy.yml
@@ -8,7 +8,7 @@
jobs:
deploy:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

Customization Tips

  • Self-hosted runners: If you're migrating to self-hosted, change the prompt to replace ubuntu-latest with your runner label (e.g., self-hosted, linux-large).
  • Pinned versions vs. latest: Some teams prefer pinning (ubuntu-24.04) for reproducibility; others prefer ubuntu-latest for automatic updates. Adjust the target based on your policy.
  • macOS and Windows: Add additional replacements if your org uses macOS or Windows runners that also need updating.

Ready to run this across your repos?

Connect your Git provider and Tidra opens pull requests in every repo that needs them.