options:
description:
"Options passed to Black. Use `black --help` to see available options. Default:
- '--check'"
+ '--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
runs:
using: composite
steps:
- - run: |
- # Exists since using github.action_path + path to main script doesn't work because bash
- # interprets the backslashes in github.action_path (which are used when the runner OS
- # is Windows) destroying the path to the target file.
- #
- # Also semicolons are necessary because I can't get the newlines to work
- entrypoint="import sys;
- import subprocess;
- from pathlib import Path;
-
- MAIN_SCRIPT = Path(r'${GITHUB_ACTION_PATH}') / 'action' / 'main.py';
-
- proc = subprocess.run([sys.executable, str(MAIN_SCRIPT)]);
- sys.exit(proc.returncode)
- "
-
+ - name: black
+ run: |
if [ "$RUNNER_OS" == "Windows" ]; then
- echo $entrypoint | python
+ runner="python"
else
- echo $entrypoint | python3
+ runner="python3"
fi
+
+ out=$(${runner} $GITHUB_ACTION_PATH/action/main.py)
+ exit_code=$?
+
+ # Display the raw output in the step
+ echo "${out}"
+
+ # Display the Markdown output in the job summary
+ echo "\`\`\`python" >> $GITHUB_STEP_SUMMARY
+ echo "${out}" >> $GITHUB_STEP_SUMMARY
+ echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
+
+ # 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 }}
pythonioencoding: utf-8