mirror of
https://github.com/creyD/prettier_action.git
synced 2026-04-15 04:40:33 +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 |
|
| 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. |
|
| 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_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) |
|
| prettier_options | :x: | `--write **/*.js` | Prettier options (by default it applies to the whole repository) |
|
||||||
| commit_options | :x: | - | Custom git commit options |
|
| commit_options | :x: | - | Custom git commit options |
|
||||||
| same_commit | :x: | False | Whether to merge into the current commit instead of creating a new one |
|
| 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 |
|
| 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 |
|
| 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.
|
> 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 Config
|
||||||
|
|
||||||
|
#### Example 1 (run on push in master)
|
||||||
```yaml
|
```yaml
|
||||||
name: Continuous Integration
|
name: Continuous Integration
|
||||||
|
|
||||||
@@ -51,10 +53,42 @@ jobs:
|
|||||||
ref: ${{ github.head_ref }}
|
ref: ${{ github.head_ref }}
|
||||||
|
|
||||||
- name: Prettify code
|
- name: Prettify code
|
||||||
uses: creyD/prettier_action@v2.2
|
uses: creyD/prettier_action@v3.0
|
||||||
with:
|
with:
|
||||||
# This part is also where you can pass other options, for example:
|
# This part is also where you can pass other options, for example:
|
||||||
prettier_options: --write **/*.{js,md}
|
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).
|
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
|
description: Commit options
|
||||||
required: false
|
required: false
|
||||||
file_pattern:
|
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
|
required: false
|
||||||
default: '*'
|
default: '*'
|
||||||
prettier_options:
|
prettier_options:
|
||||||
@@ -31,6 +31,10 @@ inputs:
|
|||||||
description: Specific version of prettier (by default just use the latest version)
|
description: Specific version of prettier (by default just use the latest version)
|
||||||
required: false
|
required: false
|
||||||
default: 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:
|
runs:
|
||||||
using: 'docker'
|
using: 'docker'
|
||||||
|
|||||||
@@ -41,8 +41,7 @@ echo "Files:"
|
|||||||
prettier $INPUT_PRETTIER_OPTIONS || echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"
|
prettier $INPUT_PRETTIER_OPTIONS || echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"
|
||||||
|
|
||||||
# To keep runtime good, just continue if something was changed
|
# To keep runtime good, just continue if something was changed
|
||||||
if _git_changed;
|
if _git_changed; then
|
||||||
then
|
|
||||||
if $INPUT_DRY; then
|
if $INPUT_DRY; then
|
||||||
echo "Prettier found unpretty files!"
|
echo "Prettier found unpretty files!"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -50,14 +49,21 @@ then
|
|||||||
# Calling method to configure the git environemnt
|
# Calling method to configure the git environemnt
|
||||||
_git_setup
|
_git_setup
|
||||||
echo "Commiting and pushing changes..."
|
echo "Commiting and pushing changes..."
|
||||||
# Add changes to git
|
if $INPUT_ONLY_CHANGED; then
|
||||||
git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}"
|
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
|
# Commit and push changes back
|
||||||
if $INPUT_SAME_COMMIT; then
|
if $INPUT_SAME_COMMIT; then
|
||||||
echo "Amending the current commit..."
|
echo "Amending the current commit..."
|
||||||
git commit --amend --no-edit
|
git commit --amend --no-edit
|
||||||
else
|
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
|
fi
|
||||||
git push origin
|
git push origin
|
||||||
echo "Changes pushed successfully."
|
echo "Changes pushed successfully."
|
||||||
|
|||||||
Reference in New Issue
Block a user