diff --git a/README.md b/README.md index 1478774..f66d8bf 100644 --- a/README.md +++ b/README.md @@ -13,25 +13,26 @@ A GitHub action for styling files with [prettier](https://prettier.io). ### Parameters -| Parameter | Required | Default | Description | -| - | :-: | :-: | - | -| dry | :x: | `false` | Runs the action in dry mode. Files wont get changed and the action fails if there are unprettified files. Recommended to use with prettier_options --check | -| no_commit | :x: | `false` | Can be used to avoid committing the changes (useful when another workflow step commits after this one anyways; can be combined with dry mode) | -| prettier_version | :x: | `latest` | Specific prettier version (by default use latest) | -| working_directory | :x: | `${{ github.action_path }}` | Specify a directory to cd into before installing prettier and running it, use relative file path to the repository root for example `app/` | -| prettier_options | :x: | `"--write **/*.js"` | Prettier options (by default it applies to the whole repository) | -| commit_options | :x: | - | Custom git commit options | -| push_options | :x: | - | Custom git push options | -| same_commit | :x: | `false` | Update the current commit instead of creating a new one, created by [Joren Broekema](https://github.com/jorenbroekema), this command works only with the checkout action set to fetch depth '0' (see example 2) | -| commit_message | :x: | `"Prettified Code!"` | Custom git commit message, will be ignored if used with `same_commit` | -| commit_description | :x: | - | Custom git extended commit message, will be ignored if used with `same_commit` | -| file_pattern | :x: | `*` | Custom git add file pattern, can't be used with only_changed! | -| prettier_plugins | :x: | - | Install Prettier plugins, i.e. `"@prettier/plugin-php" "@prettier/plugin-other"`. Must be wrapped in quotes since @ is a reserved character in YAML. | -| clean_node_folder | :x: | `true` | Delete the node_modules folder before committing | -| only_changed | :x: | `false` | Only prettify changed files, can't be used with file_pattern! This command works only with the checkout action set to fetch depth '0' (see example 2)| -| github_token | :x: | `${{ github.token }}` | The default [GITHUB_TOKEN](https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret) or a [Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) -| git_identity | :x: | `actions` | Set to `author` to use author's user as committer. This allows triggering [further workflow runs](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs) -| allow_other_plugins | :x: | `false` | Allow other plugins to be installed (prevents the @prettier-XYZ regex check) | +| Parameter | Required | Default | Description | +| ------------------- | :------: | :-------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dry | :x: | `false` | Runs the action in dry mode. Files wont get changed and the action fails if there are unprettified files. Recommended to use with prettier_options --check | +| no_commit | :x: | `false` | Can be used to avoid committing the changes (useful when another workflow step commits after this one anyways; can be combined with dry mode) | +| prettier_version | :x: | `latest` | Specific prettier version (by default use latest) | +| working_directory | :x: | `${{ github.action_path }}` | Specify a directory to cd into before installing prettier and running it, use relative file path to the repository root for example `app/` | +| prettier_options | :x: | `"--write **/*.js"` | Prettier options (by default it applies to the whole repository) | +| commit_options | :x: | - | Custom `git commit` options | +| add_options | :x: | - | Custom `git add` options, e.g. `--update` to only add already known files. | +| push_options | :x: | - | Custom `git push` options | +| same_commit | :x: | `false` | Update the current commit instead of creating a new one, created by [Joren Broekema](https://github.com/jorenbroekema), this command works only with the checkout action set to fetch depth '0' (see example 2) | +| commit_message | :x: | `"Prettified Code!"` | Custom `git commit` message, will be ignored if used with `same_commit` | +| commit_description | :x: | - | Custom git extended commit message, will be ignored if used with `same_commit` | +| file_pattern | :x: | `*` | Custom `git add` file pattern, can't be used with only_changed! | +| prettier_plugins | :x: | - | Install Prettier plugins, i.e. `"@prettier/plugin-php" "@prettier/plugin-other"`. Must be wrapped in quotes since @ is a reserved character in YAML. | +| clean_node_folder | :x: | `true` | Delete the node_modules folder before committing | +| only_changed | :x: | `false` | Only prettify changed files, can't be used with file_pattern! This command works only with the checkout action set to fetch depth '0' (see example 2) | +| github_token | :x: | `${{ github.token }}` | The default [GITHUB_TOKEN](https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret) or a [Personal Access Token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) | +| git_identity | :x: | `actions` | Set to `author` to use author's user as committer. This allows triggering [further workflow runs](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs) | +| allow_other_plugins | :x: | `false` | Allow other plugins to be installed (prevents the @prettier-XYZ regex check) | > Note: using the same_commit option may lead to problems if other actions are relying on the commit being the same before and after the prettier action has ran. Keep this in mind. diff --git a/action.yml b/action.yml index 5072dcd..541e8fb 100644 --- a/action.yml +++ b/action.yml @@ -16,6 +16,9 @@ inputs: description: Update the current commit instead of creating a new one required: false default: false + add_options: + description: Git add options + required: false commit_options: description: Commit options required: false @@ -87,6 +90,7 @@ runs: INPUT_COMMIT_MESSAGE: ${{ inputs.commit_message }} INPUT_COMMIT_DESCRIPTION: ${{ inputs.commit_description }} INPUT_SAME_COMMIT: ${{ inputs.same_commit }} + INPUT_ADD_OPTIONS: ${{ inputs.add_options }} INPUT_COMMIT_OPTIONS: ${{ inputs.commit_options }} INPUT_PUSH_OPTIONS: ${{ inputs.push_options }} INPUT_FILE_PATTERN: ${{ inputs.file_pattern }} diff --git a/entrypoint.sh b/entrypoint.sh index ec9b329..56df3bd 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -125,11 +125,11 @@ if _git_changed; then exit 1 fi else - # Calling method to configure the git environemnt + # Calling method to configure the git environment _git_setup # Add changes to git - git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}" + git add ${INPUT_ADD_OPTIONS:+"$INPUT_ADD_OPTIONS"} "${INPUT_FILE_PATTERN}" || echo -e "Problem adding your files via 'git add':\n flags: ${INPUT_ADD_OPTIONS:+"$INPUT_ADD_OPTIONS"}\n pattern: ${INPUT_FILE_PATTERN}" if $INPUT_NO_COMMIT; then echo "There are changes that won't be commited, you can use an external job to do so."