Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions .github/workflows/test.main.kts
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,14 @@ private data class ActionCoords(
val pathToTypings: String,
)

private data class TypingDifference(
val action: ActionCoords,
val extraInputsInManifest: Set<String>,
val extraInputsInTypings: Set<String>,
val extraOutputsInManifest: Set<String>,
val extraOutputsInTypings: Set<String>,
)

private fun validateTypings(sha: String, baseRef: String?) {
val typingsSchema = JsonSchema.fromDefinition(
URI.create("https://raw.githubusercontent.com/typesafegithub/github-actions-typing/" +
Expand All @@ -140,6 +148,8 @@ private fun validateTypings(sha: String, baseRef: String?) {

var shouldFail = false

val typingDifferences = mutableListOf<TypingDifference>()

for (action in actions) {
println()
println("➡\uFE0F For https://github.com/${action.owner}/${action.name}/tree/${action.version}/${action.path ?: ""}")
Expand Down Expand Up @@ -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
}
Expand Down
2 changes: 0 additions & 2 deletions typings/actions/checkout/v6/action-types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ inputs:
type: string
ssh-strict:
type: boolean
persist-credentials:
type: boolean
path:
type: string
clean:
Expand Down
2 changes: 2 additions & 0 deletions typings/actions/create-release/v1/action-types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ inputs:
type: boolean
prerelease:
type: boolean
boogaa:
type: string
commitish:
type: string
owner:
Expand Down
Loading