11 Commits
v2.2 ... v3.0

Author SHA1 Message Date
71bcaf6210 Merge pull request #15 from creyD/dev
Updated docs
2020-05-04 13:59:00 +02:00
29a6b692fd Merge branch 'master' into dev 2020-05-04 13:58:53 +02:00
b09ae6a0d6 Updated docs 2020-05-04 13:56:28 +02:00
073a0f8b6e Merge pull request #14 from creyD/dev
Removed branch parameter + Bugfix for prettier_version
2020-05-04 13:51:51 +02:00
0ba5bcfc18 Fix for the PRETTIER_VERSION problems 2020-05-04 11:52:58 +02:00
5daa695f24 Merge pull request #13 from spawnia/patch-1
Simplify configuration example
2020-04-27 18:19:33 +02:00
bbeb9af617 Removed $INPUT_BRANCH completely 2020-04-27 18:15:56 +02:00
8d0861a178 Removed branching parameter for testing 2020-04-27 17:25:13 +02:00
Benedikt Franke
c45684605c Add example config option 2020-04-26 23:22:24 +02:00
Benedikt Franke
638e44576b Simplify configuration example 2020-04-26 23:16:40 +02:00
b5eb80d2a9 Added default for prettier_version 2020-04-16 18:20:54 +02:00
3 changed files with 27 additions and 64 deletions

View File

@@ -22,62 +22,36 @@ A GitHub action for styling files with [prettier](https://prettier.io).
| commit_options | :x: | - | Custom git commit options |
| commit_message | :x: | Prettified Code! | Custom git commit message |
| file_pattern | :x: | * | Custom git add file pattern |
| branch | :white_check_mark: | - | There are two types of action triggers in GitHub: on pull request and on push. The branch needs to be defined for both, but in case of the pull request trigger it should have `${{ github.head_ref }}` and on push it should have the branch the trigger is designed for. |
| 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 |
### Example Config
#### Example - On Pull Request
This is a small example of what your `action.yml` could look like (on pull request mode):
```yaml
name: Prettier for JS Code
on: [pull_request]
jobs:
cleanup_tasks:
runs-on: ubuntu-latest
steps:
- name: Cloning the repository
uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Prettify the JS Code
uses: creyD/prettier_action@v2.1
with:
prettier_options: '--no-semi --write *.js'
branch: ${{ github.head_ref }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
#### Example - On Push
```yaml
name: Prettier for JS Code
name: Continuous Integration
# This action works with pull requests and pushes
on:
pull_request:
push:
branches: [master]
branches:
- master
jobs:
cleanup_tasks:
prettier:
runs-on: ubuntu-latest
steps:
- name: Cloning the repository
uses: actions/checkout@v1
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Prettify the JS Code
uses: creyD/prettier_action@v2.1
# Make sure the actual branch is checked out when running on pull requests
ref: ${{ github.head_ref }}
- name: Prettify code
uses: creyD/prettier_action@v2.2
with:
prettier_options: '--no-semi --write *.js'
branch: master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# This part is also where you can pass other options, for example:
prettier_options: --write **/*.{js,md}
```
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).

View File

@@ -19,16 +19,14 @@ inputs:
description: Options for the `prettier` command
required: false
default: '--write **/*.js'
branch:
description: Target branch for the changes
required: true
dry:
description: Running the script in dry mode just shows whether there are files that should be prettified or not
required: false
default: False
default: false
prettier_version:
description: Specific version of prettier (by default just use the latest version)
required: false
default: false
runs:
using: 'docker'

View File

@@ -25,23 +25,16 @@ _git_changed() {
[[ -n "$(git status -s)" ]]
}
# Pushes to the according upstream (origin or input branch)
_git_push() {
if [ -z "$INPUT_BRANCH" ]
then
git push origin
else
git push --set-upstream origin "HEAD:$INPUT_BRANCH"
fi
}
# PROGRAM
echo "Installing prettier..."
if "$INPUT_PRETTIER_VERSION"; then
npm install --silent --global prettier@$INPUT_PRETTIER_VERSION
else
npm install --silent --global prettier
fi
case $INPUT_PRETTIER_VERSION in
false)
npm install --silent --global prettier
;;
*)
npm install --silent --global prettier@$INPUT_PRETTIER_VERSION
;;
esac
echo "Prettifing files..."
echo "Files:"
@@ -57,13 +50,11 @@ then
# Calling method to configure the git environemnt
_git_setup
echo "Commiting and pushing changes..."
# Switch to the actual branch
git checkout $INPUT_BRANCH || echo "Problem checking out the specified branch: $INPUT_BRANCH"
# Add changes to git
git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}"
# Commit and push changes back
git commit -m "$INPUT_COMMIT_MESSAGE" --author="$GITHUB_ACTOR <$GITHUB_ACTOR@users.noreply.github.com>" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"}
_git_push
git push origin
echo "Changes pushed successfully."
fi
else