24 Commits
v2.1 ... 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
8295f2c348 Merge pull request #11 from creyD/dev_version
Added npm Version Selection
2020-03-24 10:07:02 +01:00
897359d7a2 Update entrypoint.sh 2020-03-24 10:00:40 +01:00
65e822b2f3 New Parameter Defaults To Null 2020-03-24 09:56:43 +01:00
565d7a7458 Attempt 2 on fixing the bug with the new version parameter 2020-03-24 09:51:18 +01:00
66441c9ff3 Fixed bug with new version parameter 2020-03-24 09:46:35 +01:00
28d6dc7fe1 Merge pull request #10 from creyD/dev_badges
Stepped Up Badge Game
2020-03-24 00:28:16 +01:00
158b31956c Stepped Up Badge Game 2020-03-24 00:26:22 +01:00
e0fb4eb439 Added prettier_version parameter 2020-03-24 00:15:08 +01:00
d8862e43c9 Added Prettier Badge to Readme 2020-03-24 00:10:16 +01:00
857b4b338e Bumped other version in Readme 2020-03-20 17:44:02 +01:00
0c51fd6dc9 Merge pull request #7 from TomBarta/patch-1
Update README to match latest version
2020-03-20 17:39:29 +01:00
Tom Barta
9bca767580 Update README to match latest version 2020-03-20 10:28:35 -06:00
0d1a062a13 Marked Importance 2020-03-18 11:12:34 +01:00
3 changed files with 38 additions and 61 deletions

View File

@@ -1,6 +1,12 @@
# GitHub Prettier Action # GitHub Prettier Action
[![CodeFactor](https://www.codefactor.io/repository/github/creyd/prettier_action/badge/master)](https://www.codefactor.io/repository/github/creyd/prettier_action/overview/master) [![CodeFactor](https://www.codefactor.io/repository/github/creyd/prettier_action/badge/master)](https://www.codefactor.io/repository/github/creyd/prettier_action/overview/master)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![License MIT](https://img.shields.io/github/license/creyD/prettier_action)](https://github.com/creyD/prettier_action/blob/master/LICENSE)
[![Latest Release](https://img.shields.io/github/v/release/creyD/prettier_action)](https://github.com/creyD/prettier_action/releases)
[![Contributors](https://img.shields.io/github/contributors-anon/creyD/prettier_action)](https://github.com/creyD/prettier_action/graphs/contributors)
[![Issues](https://img.shields.io/github/issues/creyD/prettier_action)](https://github.com/creyD/prettier_action/issues)
A GitHub action for styling files with [prettier](https://prettier.io). A GitHub action for styling files with [prettier](https://prettier.io).
@@ -11,66 +17,41 @@ 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_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 |
| 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 |
| 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 Config
#### Example - On Pull Request
This is a small example of what your `action.yml` could look like (on pull request mode):
```yaml ```yaml
name: Prettier for JS Code name: Continuous Integration
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.0
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
# This action works with pull requests and pushes
on: on:
pull_request:
push: push:
branches: [master] branches:
- master
jobs: jobs:
cleanup_tasks: prettier:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cloning the repository - name: Checkout
uses: actions/checkout@v1 uses: actions/checkout@v2
with: with:
fetch-depth: 1 # Make sure the actual branch is checked out when running on pull requests
- name: Prettify the JS Code ref: ${{ github.head_ref }}
uses: creyD/prettier_action@v2.0
- name: Prettify code
uses: creyD/prettier_action@v2.2
with: with:
prettier_options: '--no-semi --write *.js' # This part is also where you can pass other options, for example:
branch: master 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).

View File

@@ -19,13 +19,14 @@ inputs:
description: Options for the `prettier` command description: Options for the `prettier` command
required: false required: false
default: '--write **/*.js' default: '--write **/*.js'
branch:
description: Target branch for the changes
required: true
dry: dry:
description: Running the script in dry mode just shows whether there are files that should be prettified or not description: Running the script in dry mode just shows whether there are files that should be prettified or not
required: false 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: runs:
using: 'docker' using: 'docker'

View File

@@ -25,19 +25,16 @@ _git_changed() {
[[ -n "$(git status -s)" ]] [[ -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 # PROGRAM
echo "Installing prettier..." echo "Installing prettier..."
npm install --silent --global prettier case $INPUT_PRETTIER_VERSION in
false)
npm install --silent --global prettier
;;
*)
npm install --silent --global prettier@$INPUT_PRETTIER_VERSION
;;
esac
echo "Prettifing files..." echo "Prettifing files..."
echo "Files:" echo "Files:"
@@ -47,19 +44,17 @@ prettier $INPUT_PRETTIER_OPTIONS || echo "Problem running prettier with $INPUT_P
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
else else
# 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..."
# Switch to the actual branch
git checkout $INPUT_BRANCH || echo "Problem checking out the specified branch: $INPUT_BRANCH"
# Add changes to git # Add changes to git
git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}" git add "${INPUT_FILE_PATTERN}" || echo "Problem adding your files with pattern ${INPUT_FILE_PATTERN}"
# Commit and push changes back # 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 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." echo "Changes pushed successfully."
fi fi
else else