# 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: "" ```