]> git.madduck.net Git - etc/vim.git/blobdiff - action.yml

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Allow blackd to be run as a package (#2800)
[etc/vim.git] / action.yml
index 59b16a9fb6cc6916c9f4df58d03d79de17084dcd..dd2de1b62ad6bc78a6e4a7b6e8182557383c4c21 100644 (file)
@@ -2,13 +2,58 @@ 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: ""
+    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: "docker"
-  image: "action/Dockerfile"
+  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