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_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.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
# 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.1
- 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,16 +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: prettier_version:
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
runs: runs:
using: 'docker' using: 'docker'

View File

@@ -25,23 +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..."
if "$INPUT_PRETTIER_VERSION"; then case $INPUT_PRETTIER_VERSION in
npm install --silent --global prettier@$INPUT_PRETTIER_VERSION false)
else npm install --silent --global prettier
npm install --silent --global prettier ;;
fi *)
npm install --silent --global prettier@$INPUT_PRETTIER_VERSION
;;
esac
echo "Prettifing files..." echo "Prettifing files..."
echo "Files:" echo "Files:"
@@ -57,13 +50,11 @@ 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..."
# 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