
Commit history before merge: * Add black_version to github action * Merge upstream/main into this branch * Add version support for the Black action pt.2 Since we're moving to a composite based action, quite a few changes were made. 1) Support was added for all OSes (Windows was painful). 2) Isolation from the rest of the workflow had to be done manually with a virtual environment. Other noteworthy changes: - Rewrote basically all of the logic and put it in a Python script for easy testing (not doing it here tho cause I'm lazy and I can't think of a reasonable way of testing it). - Renamed `black_version` to `version` to better fit the existing input naming scheme. - Added support for log groups, this makes our action's output a bit more fancy (I may or may have not added some debug output too). * Add more to and sorta rewrite the Action's docs Reflect compatability and gotchas. * Add CHANGELOG entry * Merge main into this branch * Remove debug; address typos; clean up action.yml Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>
60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
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: "[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: ""
|
|
branding:
|
|
color: "black"
|
|
icon: "check-circle"
|
|
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)
|
|
"
|
|
|
|
if [ "$RUNNER_OS" == "Windows" ]; then
|
|
echo $entrypoint | python
|
|
else
|
|
echo $entrypoint | python3
|
|
fi
|
|
env:
|
|
# TODO: Remove once https://github.com/actions/runner/issues/665 is fixed.
|
|
INPUT_OPTIONS: ${{ inputs.options }}
|
|
INPUT_SRC: ${{ inputs.src }}
|
|
INPUT_BLACK_ARGS: ${{ inputs.black_args }}
|
|
INPUT_VERSION: ${{ inputs.version }}
|
|
pythonioencoding: utf-8
|
|
shell: bash
|