Skip to content

Commit 6819906

Browse files
committed
Fix verify-release workflow generation
1 parent cbe18e3 commit 6819906

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

gradle/build-logic/src/main/kotlin/net/kautler/github_actions.gradle.kts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ package net.kautler
1818

1919
import net.kautler.githubactions.DetermineImportedFiles
2020
import net.kautler.githubactions.PreprocessGithubWorkflow
21+
import org.ajoberstar.grgit.operation.BranchListOp.Mode.ALL
2122
import org.gradle.accessors.dm.LibrariesForLibs
2223

2324
plugins {
2425
`java-base`
26+
id("org.ajoberstar.grgit.service")
2527
}
2628

2729
val compilerEmbeddableClasspath by configurations.creating {
@@ -83,3 +85,36 @@ file(".github/workflows")
8385
dependsOn(preprocessWorkflow)
8486
}
8587
}
88+
89+
val majorVersion: String by project
90+
val preprocessVerifyReleaseWorkflow by tasks.existing(PreprocessGithubWorkflow::class) {
91+
inputs.property("majorVersion", majorVersion)
92+
93+
doLast {
94+
val grgit = grgitService
95+
.service
96+
.get()
97+
.grgit
98+
99+
if (grgit
100+
.branch
101+
.list { mode = ALL }
102+
.asSequence()
103+
.map { it.name }
104+
.contains("origin/v$majorVersion")
105+
) {
106+
workflowFile.get().apply {
107+
readText()
108+
.replace(
109+
"""'Vampire/setup-wsl@v(?<version>\d++)'""".toRegex(),
110+
{
111+
if (it.groups["version"]!!.value.toInt() < majorVersion.toInt()) {
112+
"'Vampire/setup-wsl@v$majorVersion'"
113+
} else it.value
114+
}
115+
)
116+
.also { writeText(it) }
117+
}
118+
}
119+
}
120+
}

0 commit comments

Comments
 (0)