Links

Replace runners for a job

org.openrewrite.github.ReplaceRunners Replaces the runners of a given job.

Source

  • groupId: org.openrewrite.recipe
  • artifactId: rewrite-github-actions
  • version: 1.18.0

Options

Type
Name
Description
String
jobName
The name of the job to update
List
runners
The new list of runners to set

Usage

This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly. To activate this recipe you must create a new recipe which fills in the required parameters. In your rewrite.yml create a new recipe with a unique name. For example: com.yourorg.ReplaceRunnersExample. Here's how you can define and customize such a recipe within your rewrite.yml:
rewrite.yml
---
type: specs.openrewrite.org/v1beta/recipe
name: com.yourorg.ReplaceRunnersExample
displayName: Replace runners for a job example
recipeList:
- org.openrewrite.github.ReplaceRunners:
jobName: build
runners: ubuntu-latest
Now that com.yourorg.ReplaceRunnersExample has been defined activate it and take a dependency on org.openrewrite.recipe:rewrite-github-actions:1.18.0 in your build file:
Gradle
Maven
build.gradle
plugins {
id("org.openrewrite.rewrite") version("5.38.0")
}
rewrite {
activeRecipe("com.yourorg.ReplaceRunnersExample")
}
repositories {
mavenCentral()
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-github-actions:1.18.0")
}
pom.xml
<project>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>4.42.0</version>
<configuration>
<activeRecipes>
<recipe>com.yourorg.ReplaceRunnersExample</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-github-actions</artifactId>
<version>1.18.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>

Definition

Recipe List
Yaml Recipe List
    • oldKeyPath: $.jobs..runs-on
    • value: []
    • fileMatcher: .github/workflows/*.yml
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.github.ReplaceRunners
displayName: Replace runners for a job
description: Replaces the runners of a given job.
jobName:
runners: []
recipeList:
- org.openrewrite.yaml.ChangeValue:
oldKeyPath: $.jobs..runs-on
value: []
fileMatcher: .github/workflows/*.yml

See how this recipe works across multiple open-source repositories

Moderne Link Image
The Moderne public SaaS instance enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.