From 9e1a50d00ff032a31648d43d8a3572e65987c7b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kautler?= Date: Fri, 16 Aug 2024 12:06:04 +0200 Subject: [PATCH] fix(abg): do not use double slash for top-level action URL --- .../domain/ActionCoords.kt | 2 +- .../typing/TypesProviding.kt | 6 +++--- .../typing/TypesProvidingTest.kt | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/domain/ActionCoords.kt b/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/domain/ActionCoords.kt index 85d6cc0c39..6650508de2 100644 --- a/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/domain/ActionCoords.kt +++ b/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/domain/ActionCoords.kt @@ -27,7 +27,7 @@ public val ActionCoords.repoName: String get() = * action lives. */ public val ActionCoords.subName: String get() = - if (isTopLevel) "" else name.substringAfter("/") + if (isTopLevel) "" else "/${name.substringAfter("/")}" internal fun String.toActionCoords(): ActionCoords { val (ownerAndName, version) = this.split('@') diff --git a/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProviding.kt b/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProviding.kt index cf780d44c1..56aeb5b3e2 100644 --- a/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProviding.kt +++ b/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProviding.kt @@ -29,18 +29,18 @@ internal fun ActionCoords.provideTypes( ?: Pair(emptyMap(), null) private fun ActionCoords.actionTypesYmlUrl(gitRef: String) = - "https://raw.githubusercontent.com/$owner/$repoName/$gitRef/$subName/action-types.yml" + "https://raw.githubusercontent.com/$owner/$repoName/$gitRef$subName/action-types.yml" private fun ActionCoords.actionTypesFromCatalog() = "https://raw.githubusercontent.com/typesafegithub/github-actions-typing-catalog/" + - "main/typings/$owner/$repoName/$version/$subName/action-types.yml" + "main/typings/$owner/$repoName/$version$subName/action-types.yml" private fun ActionCoords.catalogMetadata() = "https://raw.githubusercontent.com/typesafegithub/github-actions-typing-catalog/" + "main/typings/$owner/$repoName/metadata.yml" private fun ActionCoords.actionTypesYamlUrl(gitRef: String) = - "https://raw.githubusercontent.com/$owner/$repoName/$gitRef/$subName/action-types.yaml" + "https://raw.githubusercontent.com/$owner/$repoName/$gitRef$subName/action-types.yaml" private fun ActionCoords.fetchTypingMetadata( metadataRevision: MetadataRevision, diff --git a/action-binding-generator/src/test/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProvidingTest.kt b/action-binding-generator/src/test/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProvidingTest.kt index dee642037b..c75621f270 100644 --- a/action-binding-generator/src/test/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProvidingTest.kt +++ b/action-binding-generator/src/test/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/typing/TypesProvidingTest.kt @@ -103,7 +103,7 @@ class TypesProvidingTest : // Given val fetchUri: (URI) -> String = { when (it) { - URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash//action-types.yml") -> hostedByActionYml + URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash/action-types.yml") -> hostedByActionYml else -> throw IOException() } } @@ -120,7 +120,7 @@ class TypesProvidingTest : // Given val fetchUri: (URI) -> String = { when (it) { - URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash//action-types.yaml") -> hostedByActionYaml + URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash/action-types.yaml") -> hostedByActionYaml else -> throw IOException() } } @@ -137,8 +137,8 @@ class TypesProvidingTest : // Given val fetchUri: (URI) -> String = { when (it) { - URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash//action-types.yml") -> hostedByActionYml - URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash//action-types.yaml") -> hostedByActionYaml + URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash/action-types.yml") -> hostedByActionYml + URI("https://raw.githubusercontent.com/some-owner/some-name/some-hash/action-types.yaml") -> hostedByActionYaml else -> throw IOException() } } @@ -157,7 +157,7 @@ class TypesProvidingTest : when (it) { URI( "https://raw.githubusercontent.com/typesafegithub/github-actions-typing-catalog/" + - "main/typings/some-owner/some-name/v3//action-types.yml", + "main/typings/some-owner/some-name/v3/action-types.yml", ), -> storedInTypingCatalog else -> throw IOException() @@ -178,12 +178,12 @@ class TypesProvidingTest : when (it) { URI( "https://raw.githubusercontent.com/some-owner/some-name/" + - "some-hash//action-types.yml", + "some-hash/action-types.yml", ), -> hostedByActionYml URI( "https://raw.githubusercontent.com/typesafegithub/github-actions-typing-catalog/" + - "main/typings/some-owner/some-name/v3//action-types.yml", + "main/typings/some-owner/some-name/v3/action-types.yml", ), -> storedInTypingCatalog else -> throw IOException() @@ -209,7 +209,7 @@ class TypesProvidingTest : -> metadata URI( "https://raw.githubusercontent.com/typesafegithub/github-actions-typing-catalog/" + - "main/typings/some-owner/some-name/v4//action-types.yml", + "main/typings/some-owner/some-name/v4/action-types.yml", ), -> storedInTypingCatalogForOlderVersion else -> throw IOException()