No description
  • Kotlin 99.8%
  • Dockerfile 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
renovate[bot] 6014160c06
Update dependency com.google.devtools.ksp to v2.3.14 (#515)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [com.google.devtools.ksp](https://goo.gle/ksp)
([source](https://redirect.github.com/google/ksp)) | `2.3.13` → `2.3.14`
|
![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.3.14?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.3.13/2.3.14?slim=true)
|

---

### Release Notes

<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>

###
[`v2.3.14`](https://redirect.github.com/google/ksp/releases/tag/2.3.14)

[Compare
Source](https://redirect.github.com/google/ksp/compare/2.3.13...2.3.14)

#### What's Changed

- Fix regression where library symbols disappear during concurrent KSP
executions by only clearing `CoreJarFileSystem` handlers when no
executions are active
([#&#8203;3286](https://redirect.github.com/google/ksp/issues/3286))
- Implement support for reading Kotlin context parameters
(`KSContextParameter`) on functions and properties
([#&#8203;2472](https://redirect.github.com/google/ksp/issues/2472))
- Skip Analysis API session initialization and processor execution
during incremental builds when no files are dirty
([#&#8203;3256](https://redirect.github.com/google/ksp/issues/3256))
- Fix `KSAnnotation.arguments` omitting `vararg` parameters when
annotations are applied with no arguments
([#&#8203;3271](https://redirect.github.com/google/ksp/issues/3271))
- Align `KSAnnotation.defaultArguments` behavior across platforms by not
falling back to an empty array on JVM for array-typed parameters
([#&#8203;3233](https://redirect.github.com/google/ksp/issues/3233))
- Fix `KSTypeParameter.bounds` returning expanded type arguments when
the bound is a type alias
([#&#8203;3242](https://redirect.github.com/google/ksp/issues/3242))

#### Contributors

- Thanks to [@&#8203;bcorso](https://redirect.github.com/bcorso), and
everyone who reported bugs and participated in discussions!

Full Changelog: <https://github.com/google/ksp/compare/2.3.13...2.3.14>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "every 1 week on saturday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/typesafegithub/github-actions-typing).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMjguMCIsInVwZGF0ZWRJblZlciI6IjQ0LjIyOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-14 05:49:42 +00:00
.github Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.13.0 (#517) 2026-11-14 05:49:24 +00:00
docs Add basic info to README 2022-06-20 10:50:09 +02:00
gradle Update dependency com.google.devtools.ksp to v2.3.14 (#515) 2026-11-14 05:49:42 +00:00
kotlin-js-store Update dependency org.jetbrains.kotlin.multiplatform to v2.4.21 (#508) 2026-10-17 20:11:42 +00:00
src fix(deps): update snakeyaml-engine-kmp to 4.0.1 and kaml to 0.102.0 (#414) 2025-10-28 13:52:26 +00:00
.gitattributes chore: migrate from K/JVM to KMP (#244) 2025-01-27 06:45:23 +01:00
.gitignore chore: migrate from K/JVM to KMP (#244) 2025-01-27 06:45:23 +01:00
action-types.yml feat: allow ignoring certain actions (#278) 2025-02-04 08:48:18 +01:00
action.yaml feat: allow ignoring certain actions (#278) 2025-02-04 08:48:18 +01:00
build.gradle.kts Remove non-existing typing used in tests (#501) 2026-09-07 13:54:25 +02:00
Dockerfile Update eclipse-temurin Docker tag to v25.0.5_8-jre (#513) 2026-10-31 01:16:26 +00:00
github-actions-typing.schema.json fix: use anyOf instead of oneOf for better IDE compatibility (#255) 2025-01-29 16:11:52 +01:00
gradlew Update Gradle to v9.6.0 (#485) 2026-06-20 01:41:05 +00:00
gradlew.bat Update Gradle to v9.8.1 (#506) 2026-10-10 12:05:45 +00:00
LICENSE Initial commit 2022-06-11 20:32:59 +02:00
README.md README: specify that whole action's API must be typed (#444) 2025-12-22 08:47:13 +01:00
renovate.json Renovate: group PRs for gradle/actions 2026-06-16 09:27:06 +02:00
settings.gradle.kts fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-wrappers-catalog to v2026.2.5 (#462) 2026-02-07 09:40:50 +00:00

GitHub Actions typing

Bring type-safety to your GitHub actions' API!

This is a GitHub action that validates your action's type specs (action-types.y(a)ml) and ensures the inputs and outputs have types set according to a certain specification. It aims to be a standardized way to present your actions' API, both to human users and any kind of automation (e. g. generating action bindings for this Kotlin DSL). Similar to typings for TypeScript or type hints for Python.

Typings for all inputs and outputs have to be specified.

It supports YAML anchors and aliases to reduce duplication.

To see which actions already provide typings using this schema, click here.

Example

Let's say your action has such manifest (action.yml):

name: My cool action
description: Just to showcase GitHub Actions typing
inputs:
  verbose:
    description: 'Set to true to display debug information helpful when troubleshooting issues with this action.'
    required: false
    default: 'false'
  log-level:
    description: 'Specify the level of details for logging.'
    required: true
  permissions:
    description: 'Who should have access.'
runs:
  using: 'node16'
  image: 'dist/main.js'

and such action-types.yml next to it:

inputs:
  verbose:
    type: boolean
  permissions:
    type: inttteger

This action, once used within a workflow, will fail the workflow run and produce such output:

Example output

Usage

Create a new file in your action repo's root directory: action-types.yml, then specify types for your action's inputs and outputs. See "Available types" section below.

Finally, create a workflow in your actions' repository that will simply call this action to validate the types:

name: Validate action typings

on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

jobs:
  validate-typings:
    runs-on: "ubuntu-latest"
    steps:
      - uses: actions/checkout@v4
      - uses: typesafegithub/github-actions-typing@v2

Available types

String

A text value.

Example:

...
inputs:
  name:
    type: string
    ...

Boolean

Can be true or false.

Example:

...
inputs:
  verbose:
    type: boolean
    ...

Integer

A number without a fractional component.

Example:

...
inputs:
  retries:
    type: integer
    ...

In case of "magic values" meaning something else that the user would expect, you can specify them like so:

...
inputs:
  fetch-depth:
    type: integer
    named-values:
      infinite: 0
    ...

You can also optionally define name which is a hint for code generators what name can be used as class name.

...
inputs:
  fetch-depth:
    type: integer
    name: Amount
    named-values:
      infinite: 0
    ...

Float

A number with a fractional component.

Example:

...
inputs:
  threshold:
    type: float
    ...

List

A sequence of values.

Because string is used as a data type for passing inputs to actions, a separator string has to be specified as well. This is usually a new line or a comma.

Lists can contain values of any primitive or enum type.

If your list items are in separate line each, use "\n" as separator.

Examples:

...
inputs:
  input-files:
    type: list
    separator: ','
    list-item:
      type: string
  ...
...
inputs:
  granted-scopes:
    type: list
    separator: ','
    list-item:
      type: enum
      allowed-values:
        - read
        - write
  ...

Enum

Multiple possible values.

You can also optionally define name which is a hint for code generators what name can be used as enum type name.

Example:

...
inputs:
  permissions:
    type: enum
    allowed-values:
      - user
      - admin
      - guest
  if_mention:
    type: enum
    name: MentionStatus
    allowed-values:
      - success
      - failure
    ...