| 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 --diff'" |
| required: false |
| default: "--check --diff" |
| src: |
| description: "Source to run Black. Default: '.'" |
| required: false |
| default: "." |
| jupyter: |
| description: |
| "Set this option to true to include Jupyter Notebook files. Default: false" |
| required: false |
| default: false |
| black_args: |
| description: "[DEPRECATED] Black input arguments." |
| required: false |
| default: "" |
| deprecationMessage: |
| "Input `with.black_args` is deprecated. Use `with.options` and `with.src` instead." |
| version: |
| description: 'Python Version specifier (PEP440) - e.g. "21.5b1"' |
| required: false |
| default: "" |
| use_pyproject: |
| description: Read Black version specifier from pyproject.toml if `true`. |
| required: false |
| default: "false" |
| summary: |
| description: "Whether to add the output to the workflow summary" |
| required: false |
| default: true |
| output-file: |
| description: > |
| Optional path to write Black output to a file in addition to stdout. Useful for |
| keeping GitHub Actions logs clean when using --diff or --check. |
| required: false |
| default: "" |
| branding: |
| color: "black" |
| icon: "check-circle" |
| runs: |
| using: composite |
| steps: |
| - name: black |
| run: | |
| # Even when black fails, do not close the shell |
| set +e |
| |
| if [ "$RUNNER_OS" == "Windows" ]; then |
| runner="python" |
| else |
| runner="python3" |
| fi |
| |
| out=$(${runner} $GITHUB_ACTION_PATH/action/main.py) |
| exit_code=$? |
| |
| # Display the raw output in the step |
| echo "${out}" |
| |
| if [ "${{ inputs.summary }}" == "true" ]; then |
| # Display the Markdown output in the job summary |
| echo "\`\`\`python" >> $GITHUB_STEP_SUMMARY |
| echo "${out}" >> $GITHUB_STEP_SUMMARY |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY |
| fi |
| |
| # Exit with the exit-code returned by Black |
| exit ${exit_code} |
| env: |
| # TODO: Remove once https://github.com/actions/runner/issues/665 is fixed. |
| INPUT_OPTIONS: ${{ inputs.options }} |
| INPUT_SRC: ${{ inputs.src }} |
| INPUT_JUPYTER: ${{ inputs.jupyter }} |
| INPUT_BLACK_ARGS: ${{ inputs.black_args }} |
| INPUT_VERSION: ${{ inputs.version }} |
| INPUT_USE_PYPROJECT: ${{ inputs.use_pyproject }} |
| OUTPUT_FILE: ${{ inputs.output-file }} |
| pythonioencoding: utf-8 |
| shell: bash |