diff --git a/.github/workflows/test.main.kts b/.github/workflows/test.main.kts index 385774d..071edc4 100755 --- a/.github/workflows/test.main.kts +++ b/.github/workflows/test.main.kts @@ -124,6 +124,14 @@ private data class ActionCoords( val pathToTypings: String, ) +private data class TypingDifference( + val action: ActionCoords, + val extraInputsInManifest: Set, + val extraInputsInTypings: Set, + val extraOutputsInManifest: Set, + val extraOutputsInTypings: Set, +) + private fun validateTypings(sha: String, baseRef: String?) { val typingsSchema = JsonSchema.fromDefinition( URI.create("https://raw.githubusercontent.com/typesafegithub/github-actions-typing/" + @@ -140,6 +148,8 @@ private fun validateTypings(sha: String, baseRef: String?) { var shouldFail = false + val typingDifferences = mutableListOf() + for (action in actions) { println() println("➡\uFE0F For https://github.com/${action.owner}/${action.name}/tree/${action.version}/${action.path ?: ""}") @@ -181,18 +191,17 @@ private fun validateTypings(sha: String, baseRef: String?) { if (typingsInputs != manifestInputs || typingsOutputs != manifestOutputs) { println("\uD83D\uDD34 Something is wrong with the typings!") - (typingsInputs - manifestInputs).let { - if (it.isNotEmpty()) { println("Extra inputs in typings: $it") } - } - (manifestInputs - typingsInputs).let { - if (it.isNotEmpty()) { println("Extra inputs in manifest: $it") } - } - (typingsOutputs - manifestOutputs).let { - if (it.isNotEmpty()) { println("Extra outputs in typings: $it") } - } - (manifestOutputs - typingsOutputs).let { - if (it.isNotEmpty()) { println("Extra outputs in manifest: $it") } - } + + val difference = TypingDifference( + action = action, + extraInputsInManifest = manifestInputs - typingsInputs, + extraInputsInTypings = typingsInputs - manifestInputs, + extraOutputsInManifest = manifestOutputs - typingsOutputs, + extraOutputsInTypings = typingsOutputs - manifestOutputs + ) + println(difference) + + typingDifferences += difference shouldFail = true continue } diff --git a/typings/actions/checkout/v6/action-types.yml b/typings/actions/checkout/v6/action-types.yml index b682d45..3addee1 100644 --- a/typings/actions/checkout/v6/action-types.yml +++ b/typings/actions/checkout/v6/action-types.yml @@ -12,8 +12,6 @@ inputs: type: string ssh-strict: type: boolean - persist-credentials: - type: boolean path: type: string clean: diff --git a/typings/actions/create-release/v1/action-types.yml b/typings/actions/create-release/v1/action-types.yml index 9fece5b..bc9cf62 100644 --- a/typings/actions/create-release/v1/action-types.yml +++ b/typings/actions/create-release/v1/action-types.yml @@ -12,6 +12,8 @@ inputs: type: boolean prerelease: type: boolean + boogaa: + type: string commitish: type: string owner: