From 5316836393682c6ec6a05d69c549d8167f46d8f6 Mon Sep 17 00:00:00 2001 From: Shota Ray Imaki Date: Thu, 6 May 2021 11:25:43 +0900 Subject: [PATCH 1/1] Simplify GitHub Action entrypoint (#2119) This commit simplifies entrypoint.sh for GitHub Actions by removing duplication of args and black_args (cf. #1909). The reason why #1909 uses the input id black_args is to avoid an overlap with args, but this naming seems redundant. So let me suggest option and src, which are consistent with CLI. Backward compatibility is guaranteed; Users can still use black_args as well. Commit history pre-merge: * Simplify GitHub Action entrypoint (#1909) * Fix prettier * Emit a warning message when `black_args` is used This deprecation should be visible in GitHub Action's UI now. Co-authored-by: Shota Ray Imaki Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com> --- README.md | 14 ++++++++------ action.yml | 12 +++++++++++- action/entrypoint.sh | 21 ++++++--------------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 696bfa7..6443569 100644 --- a/README.md +++ b/README.md @@ -425,15 +425,17 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 - uses: psf/black@stable - with: - args: ". --check" ``` -### Inputs +You may use `options` (Default is `'--check --diff'`) and `src` (Default is `'.'`) as +follows: -#### `black_args` - -**optional**: Black input arguments. Defaults to `. --check --diff`. +```yaml +- uses: psf/black@stable + with: + options: "--check --verbose" + src: "./src" +``` ## Ignoring unmodified files diff --git a/action.yml b/action.yml index 59b16a9..827e971 100644 --- a/action.yml +++ b/action.yml @@ -2,8 +2,18 @@ name: "Black" description: "The uncompromising Python code formatter." author: "Łukasz Langa and contributors to Black" inputs: + options: + description: + "Options passed to black. Use `black --help` to see available options. Default: + '--check'" + required: false + default: "--check --diff" + src: + description: "Source to run black. Default: '.'" + required: false + default: "." black_args: - description: "Black input arguments." + description: "[DEPRECATED] Black input arguments." required: false default: "" branding: diff --git a/action/entrypoint.sh b/action/entrypoint.sh index 50f9472..fc66e24 100755 --- a/action/entrypoint.sh +++ b/action/entrypoint.sh @@ -1,17 +1,8 @@ -#!/bin/bash -set -e +#!/bin/bash -e -# If no arguments are given use current working directory -black_args=(".") -if [ "$#" -eq 0 ] && [ "${INPUT_BLACK_ARGS}" != "" ]; then - black_args+=(${INPUT_BLACK_ARGS}) -elif [ "$#" -ne 0 ] && [ "${INPUT_BLACK_ARGS}" != "" ]; then - black_args+=($* ${INPUT_BLACK_ARGS}) -elif [ "$#" -ne 0 ] && [ "${INPUT_BLACK_ARGS}" == "" ]; then - black_args+=($*) -else - # Default (if no args provided). - black_args+=("--check" "--diff") -fi +if [ -n $INPUT_BLACK_ARGS ]; then + echo '::warning::Input `with.black_args` is deprecated. Use `with.options` and `with.src` instead.' + black $INPUT_BLACK_ARGS + exit $? -sh -c "black . ${black_args[*]}" +black $INPUT_OPTIONS $INPUT_SRC -- 2.39.5