# ivuorinen/actions/version-file-parser ## Version File Parser ### Description Universal parser for common version detection files (.tool-versions, Dockerfile, devcontainer.json, etc.) ### Inputs | name | description | required | default | |---------------------|------------------------------------------------------------------------------|----------|-------------------------------| | `language` |

Programming language name (node, python, php, go, dotnet)

| `true` | `""` | | `tool-versions-key` |

Key name in .tool-versions file (nodejs, python, php, golang, dotnet)

| `true` | `""` | | `dockerfile-image` |

Docker image name pattern (node, python, php, golang, dotnet)

| `true` | `""` | | `version-file` |

Language-specific version file (.nvmrc, .python-version, etc.)

| `false` | `""` | | `validation-regex` |

Version validation regex pattern

| `false` | `^[0-9]+\.[0-9]+(\.[0-9]+)?$` | | `default-version` |

Default version to use if no version is detected

| `false` | `""` | ### Outputs | name | description | |-------------------------|-----------------------------------------------------------------------------------| | `tool-versions-version` |

Version found in .tool-versions

| | `dockerfile-version` |

Version found in Dockerfile

| | `devcontainer-version` |

Version found in devcontainer.json

| | `version-file-version` |

Version found in language-specific version file

| | `config-file-version` |

Version found in language config files (package.json, composer.json, etc.)

| | `detected-version` |

Final detected version (first found or default)

| | `package-manager` |

Detected package manager (npm, yarn, pnpm, composer, pip, poetry, etc.)

| ### Runs This action is a `composite` action. ### Usage ```yaml - uses: ivuorinen/actions/version-file-parser@main with: language: # Programming language name (node, python, php, go, dotnet) # # Required: true # Default: "" tool-versions-key: # Key name in .tool-versions file (nodejs, python, php, golang, dotnet) # # Required: true # Default: "" dockerfile-image: # Docker image name pattern (node, python, php, golang, dotnet) # # Required: true # Default: "" version-file: # Language-specific version file (.nvmrc, .python-version, etc.) # # Required: false # Default: "" validation-regex: # Version validation regex pattern # # Required: false # Default: ^[0-9]+\.[0-9]+(\.[0-9]+)?$ default-version: # Default version to use if no version is detected # # Required: false # Default: "" ```