Repository: onicagroup/runway

Issue:
[BUG] git repo link not working in path attribute
### Bug Description

I am trying to source terraform module stored in github repo, but when I pass the git link of repo in the "path" attribute of modules section in runway.yml and execute runway plan, it returns error as follows:

$runway plan

return self.__git_ls_remote(self.__determine_git_ls_remote_ref())
File "/usr/lib/python3.9/site-packages/runway/sources/git.py", line 77, in __git_ls_remote
ls_remote_output = subprocess.check_output(cmd)
File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'ls-remote', '', 'HEAD']' returned non-zero exit status 128.

I am able to clone the repo manually with git clone command on the host machine where runway is installed, and ssh key is also added to github repo.
git ls-remote <repo_url> HEAD is also returning output without any error on manual execution on the terminal
I am assuming it has to do something with ssh authentication.
Can someone please address this asap as it is blocking critical operations in our project.

runway.yml:

deployments:
  - name: test-deployment
    modules:
      - path: git::git://<githuborg>/terraform-google-bigquery.git
         parameters:
            dataset_id: "Testing-runway"
    regions:
       europe-west2

### Expected Behavior

runway plan should not return error

### Steps To Reproduce

Example project: ...

1. add git repo url to path attribute in runway.yml:
deployments:
  - name: test-deployment
    modules:
      - path: git::git://<githuborg>/terraform-google-bigquery.git
         parameters:
            dataset_id: "Testing-runway"
    regions:
       europe-west2
2. $runway plan

...


### Runway version

2.6.8

### Installation Type

pypi (pip, pipenv, poetry, etc)

### OS / Environment

- OS: Red hat Linux
- terraform version: 1.5.2

### Anything else?

_No response_

Discussion:
codecov[bot]: ## [Codecov](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup) Report
> Merging [#2013](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup) (d22095a) into [master](https://app.codecov.io/gh/onicagroup/runway/commit/956acd6bd9e25024189622122b70a2730a223653?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup) (956acd6) will **not change** coverage.
> The diff coverage is `100.00%`.

[![Impacted file tree graph](https://app.codecov.io/gh/onicagroup/runway/pull/2013/graphs/tree.svg?width=650&height=150&src=pr&token=Ku28I0RY80&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup)](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup)

```diff
@@           Coverage Diff           @@
##           master    #2013   +/-   ##
=======================================
  Coverage   90.18%   90.18%           
=======================================
  Files         247      247           
  Lines       15681    15681           
=======================================
  Hits        14142    14142           
  Misses       1539     1539           
```


| [Files](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup) | Coverage Δ | |
|---|---|---|
| [runway/core/components/\_module\_path.py](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup#diff-cnVud2F5L2NvcmUvY29tcG9uZW50cy9fbW9kdWxlX3BhdGgucHk=) | `100.00% <100.00%> (ø)` | |

------

[Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup). Last update [956acd6...d22095a](https://app.codecov.io/gh/onicagroup/runway/pull/2013?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=onicagroup).


Patch:
diff --git a/runway/core/components/_module_path.py b/runway/core/components/_module_path.py
index bdc471fc..60124812 100644
--- a/runway/core/components/_module_path.py
+++ b/runway/core/components/_module_path.py
@@ -37,7 +37,7 @@ class ModulePath:
     ARGS_REGEX: ClassVar[str] = r"(\?)(?P<args>.*)$"
     REMOTE_SOURCE_HANDLERS: ClassVar[Dict[str, Type[Source]]] = {"git": Git}
     SOURCE_REGEX: ClassVar[str] = r"(?P<source>[a-z]+)(\:\:)"
-    URI_REGEX: ClassVar[str] = r"(?P<uri>[a-z]+://[a-zA-Z0-9\./]+?(?=//|\?|$))"
+    URI_REGEX: ClassVar[str] = r"(?P<uri>[a-z]+://[a-zA-Z0-9\./-]+?(?=//|\?|$))"
 
     def __init__(
         self,


Test patch:
diff --git a/tests/unit/core/components/test_module_path.py b/tests/unit/core/components/test_module_path.py
index 2db1fe9e..a005666a 100644
--- a/tests/unit/core/components/test_module_path.py
+++ b/tests/unit/core/components/test_module_path.py
@@ -37,6 +37,15 @@ TypeDefTestDefinition = TypedDict(
 )
 
 TESTS: List[TypeDefTestDefinition] = [
+    {
+        "definition": "git::git://github.com/onicagroup/foo/foo-bar.git",
+        "expected": {
+            "location": "./",
+            "arguments": {},
+            "source": "git",
+            "uri": "git://github.com/onicagroup/foo/foo-bar.git",
+        },
+    },
     {
         "definition": "git::git://github.com/onicagroup/foo/bar.git",
         "expected": {