mirror of
https://github.com/creyD/prettier_action.git
synced 2026-04-12 19:30:30 +02:00
Merge branch 'dev' into feat/same-commit
This commit is contained in:
42
README.md
42
README.md
@@ -16,19 +16,21 @@ A GitHub action for styling files with [prettier](https://prettier.io).
|
||||
|
||||
| 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. |
|
||||
| prettier_version | :x: | False | Specific prettier version (by default use latest) |
|
||||
| dry | :x: | false | Runs the action in dry mode. Files wont get changed and the action fails if there are unprettified files. |
|
||||
| prettier_version | :x: | false | Specific prettier version (by default use latest) |
|
||||
| prettier_options | :x: | `--write **/*.js` | Prettier options (by default it applies to the whole repository) |
|
||||
| commit_options | :x: | - | Custom git commit options |
|
||||
| same_commit | :x: | False | Whether to merge into the current commit instead of creating a new one |
|
||||
| commit_message | :x: | Prettified Code! | Custom git commit message |
|
||||
| file_pattern | :x: | * | Custom git add file pattern |
|
||||
| file_pattern | :x: | * | Custom git add file pattern, can't be used with only_changed! |
|
||||
| branch (depreciated with 3.0)| :white_check_mark: | - | Always set this to `${{ github.head_ref }}` in order to work both with pull requests and push events |
|
||||
| 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' (Example 2)|
|
||||
|
||||
> 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.
|
||||
|
||||
### Example Config
|
||||
|
||||
#### Example 1 (run on push in master)
|
||||
```yaml
|
||||
name: Continuous Integration
|
||||
|
||||
@@ -51,10 +53,42 @@ jobs:
|
||||
ref: ${{ github.head_ref }}
|
||||
|
||||
- name: Prettify code
|
||||
uses: creyD/prettier_action@v2.2
|
||||
uses: creyD/prettier_action@v3.0
|
||||
with:
|
||||
# This part is also where you can pass other options, for example:
|
||||
prettier_options: --write **/*.{js,md}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
#### Example 2 (using the only_changed option on PR)
|
||||
```yaml
|
||||
name: Continuous Integration
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
prettier:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# Make sure the actual branch is checked out when running on pull requests
|
||||
ref: ${{ github.head_ref }}
|
||||
# This is important to fetch the changes to the previous commit
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Prettify code
|
||||
uses: creyD/prettier_action@v3.0
|
||||
with:
|
||||
# This part is also where you can pass other options, for example:
|
||||
prettier_options: --write **/*.{js,md}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
More documentation for writing a workflow can be found [here](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions).
|
||||
|
||||
@@ -16,7 +16,7 @@ inputs:
|
||||
description: Commit options
|
||||
required: false
|
||||
file_pattern:
|
||||
description: File pattern used for `git add`
|
||||
description: File pattern used for `git add`, can't be used with only_changed!
|
||||
required: false
|
||||
default: '*'
|
||||
prettier_options:
|
||||
@@ -31,6 +31,10 @@ inputs:
|
||||
description: Specific version of prettier (by default just use the latest version)
|
||||
required: false
|
||||
default: false
|
||||
only_changed:
|
||||
description: Only prettify files changed in the last commit, can't be used with file_pattern!
|
||||
required: false
|
||||
default: false
|
||||
|
||||
runs:
|
||||
using: 'docker'
|
||||
|
||||
@@ -41,8 +41,7 @@ echo "Files:"
|
||||
prettier $INPUT_PRETTIER_OPTIONS || echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"
|
||||
|
||||
# To keep runtime good, just continue if something was changed
|
||||
if _git_changed;
|
||||
then
|
||||
if _git_changed; then
|
||||
if $INPUT_DRY; then
|
||||
echo "Prettier found unpretty files!"
|
||||
exit 1
|
||||
@@ -50,14 +49,21 @@ then
|
||||
# Calling method to configure the git environemnt
|
||||
_git_setup
|
||||
echo "Commiting and pushing changes..."
|
||||
# Add changes to git
|
||||
git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}"
|
||||
if $INPUT_ONLY_CHANGED; then
|
||||
for file in $(git diff --name-only HEAD^..HEAD)
|
||||
do
|
||||
git add $file
|
||||
done
|
||||
else
|
||||
# Add changes to git
|
||||
git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}"
|
||||
fi
|
||||
# Commit and push changes back
|
||||
if $INPUT_SAME_COMMIT; then
|
||||
echo "Amending the current commit..."
|
||||
git commit --amend --no-edit
|
||||
else
|
||||
git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"}
|
||||
git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"} || echo "No files added to commit"
|
||||
fi
|
||||
git push origin
|
||||
echo "Changes pushed successfully."
|
||||
|
||||
Reference in New Issue
Block a user