diff --git a/shared-internal/src/main/kotlin/io/github/typesafegithub/workflows/shared/internal/GithubApi.kt b/shared-internal/src/main/kotlin/io/github/typesafegithub/workflows/shared/internal/GithubApi.kt index 54a3eadc7a..0c6a00b53f 100644 --- a/shared-internal/src/main/kotlin/io/github/typesafegithub/workflows/shared/internal/GithubApi.kt +++ b/shared-internal/src/main/kotlin/io/github/typesafegithub/workflows/shared/internal/GithubApi.kt @@ -25,6 +25,8 @@ import java.time.ZonedDateTime private val logger = logger { } +private const val MAX_REF_PARTS = 3 + suspend fun fetchAvailableVersions( owner: String, name: String, @@ -38,6 +40,7 @@ suspend fun fetchAvailableVersions( apiTagsUrl(githubEndpoint = githubEndpoint, owner = owner, name = name), apiBranchesUrl(githubEndpoint = githubEndpoint, owner = owner, name = name), ).flatMap { url -> fetchGithubRefs(url, githubAuthToken, httpClient).bind() } + .filter { it.ref.split('/', limit = MAX_REF_PARTS + 1).size == MAX_REF_PARTS } .versions(githubAuthToken, meterRegistry = meterRegistry) } } diff --git a/shared-internal/src/test/kotlin/io/github/typesafegithub/workflows/shared/internal/model/GithubApiTest.kt b/shared-internal/src/test/kotlin/io/github/typesafegithub/workflows/shared/internal/model/GithubApiTest.kt index f710f678f1..585f7a5c82 100644 --- a/shared-internal/src/test/kotlin/io/github/typesafegithub/workflows/shared/internal/model/GithubApiTest.kt +++ b/shared-internal/src/test/kotlin/io/github/typesafegithub/workflows/shared/internal/model/GithubApiTest.kt @@ -208,16 +208,12 @@ class GithubApiTest : ) // Then - // This assertion shows current undesired behavior, - // TODO fix in https://github.com/typesafegithub/github-workflows-kt/pull/2306 versionsOrError shouldBe listOf( Version("v1.0.0"), Version("v1.0.1"), - Version("tag"), Version("v1"), Version("v2"), - Version("branch"), ).right() }