We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[Bug]: Maven sign and upload should be done inside a docker container
### Describe the bug

We should be using a docker container to run jenkinsjob. 

https://github.com/opensearch-project/opensearch-infra/blob/main/jenkins/jobs/OpenSearch_CI/release_ci/opensearch_maven_release/Jenkinsfile#L3-L5

Also, should this file be a part of `opensearch-build`?

### To reproduce

Docker container is not used - 

https://github.com/opensearch-project/opensearch-infra/blob/main/jenkins/jobs/OpenSearch_CI/release_ci/opensearch_maven_release/Jenkinsfile#L3-L5

### Expected behavior

_No response_

### Screenshots

If applicable, add screenshots to help explain your problem.

### Host / Environment

_No response_

### Additional context

_No response_

### Relevant log output

_No response_

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/run_sign.py`
Content:
```
1 #!/usr/bin/env python
2 
3 # SPDX-License-Identifier: Apache-2.0
4 #
5 # The OpenSearch Contributors require contributions made to
6 # this file be licensed under the Apache-2.0 license or a
7 # compatible open source license.
8 
9 import argparse
10 import logging
11 import sys
12 from pathlib import Path
13 
14 from sign_workflow.sign_artifacts import SignArtifacts
15 from sign_workflow.signer import Signer
16 from system import console
17 
18 ACCEPTED_SIGNATURE_FILE_TYPES = [".sig"]
19 
20 
21 def main():
22     parser = argparse.ArgumentParser(description="Sign artifacts")
23     parser.add_argument("target", type=Path, help="Path to local manifest file or artifact directory.")
24     parser.add_argument("--component", nargs="?", help="Component name")
25     parser.add_argument("--type", nargs="?", help="Artifact type")
26     parser.add_argument("--sigtype", choices=ACCEPTED_SIGNATURE_FILE_TYPES, help="Type of Signature file", default=".asc")
27     parser.add_argument(
28         "-v",
29         "--verbose",
30         help="Show more verbose output.",
31         action="store_const",
32         default=logging.INFO,
33         const=logging.DEBUG,
34         dest="logging_level",
35     )
36     args = parser.parse_args()
37 
38     console.configure(level=args.logging_level)
39 
40     sign = SignArtifacts.from_path(path=args.target,
41                                    component=args.component,
42                                    artifact_type=args.type,
43                                    signature_type=args.sigtype,
44                                    signer=Signer())
45 
46     sign.sign()
47 
48 
49 if __name__ == "__main__":
50     sys.exit(main())
51
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/src/run_sign.py b/src/run_sign.py
--- a/src/run_sign.py
+++ b/src/run_sign.py
@@ -24,6 +24,7 @@
     parser.add_argument("--component", nargs="?", help="Component name")
     parser.add_argument("--type", nargs="?", help="Artifact type")
     parser.add_argument("--sigtype", choices=ACCEPTED_SIGNATURE_FILE_TYPES, help="Type of Signature file", default=".asc")
+    parser.add_argument("--platform", nargs="?", help="The distribution platform", default="linux")
     parser.add_argument(
         "-v",
         "--verbose",

{"golden_diff": "diff --git a/src/run_sign.py b/src/run_sign.py\n--- a/src/run_sign.py\n+++ b/src/run_sign.py\n@@ -24,6 +24,7 @@\n     parser.add_argument(\"--component\", nargs=\"?\", help=\"Component name\")\n     parser.add_argument(\"--type\", nargs=\"?\", help=\"Artifact type\")\n     parser.add_argument(\"--sigtype\", choices=ACCEPTED_SIGNATURE_FILE_TYPES, help=\"Type of Signature file\", default=\".asc\")\n+    parser.add_argument(\"--platform\", nargs=\"?\", help=\"The distribution platform\", default=\"linux\")\n     parser.add_argument(\n         \"-v\",\n         \"--verbose\",\n", "issue": "[Bug]: Maven sign and upload should be done inside a docker container\n### Describe the bug\n\nWe should be using a docker container to run jenkinsjob. \r\n\r\nhttps://github.com/opensearch-project/opensearch-infra/blob/main/jenkins/jobs/OpenSearch_CI/release_ci/opensearch_maven_release/Jenkinsfile#L3-L5\r\n\r\nAlso, should this file be a part of `opensearch-build`?\n\n### To reproduce\n\nDocker container is not used - \r\n\r\nhttps://github.com/opensearch-project/opensearch-infra/blob/main/jenkins/jobs/OpenSearch_CI/release_ci/opensearch_maven_release/Jenkinsfile#L3-L5\n\n### Expected behavior\n\n_No response_\n\n### Screenshots\n\nIf applicable, add screenshots to help explain your problem.\n\n### Host / Environment\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Relevant log output\n\n_No response_\n", "before_files": [{"content": "#!/usr/bin/env python\n\n# SPDX-License-Identifier: Apache-2.0\n#\n# The OpenSearch Contributors require contributions made to\n# this file be licensed under the Apache-2.0 license or a\n# compatible open source license.\n\nimport argparse\nimport logging\nimport sys\nfrom pathlib import Path\n\nfrom sign_workflow.sign_artifacts import SignArtifacts\nfrom sign_workflow.signer import Signer\nfrom system import console\n\nACCEPTED_SIGNATURE_FILE_TYPES = [\".sig\"]\n\n\ndef main():\n    parser = argparse.ArgumentParser(description=\"Sign artifacts\")\n    parser.add_argument(\"target\", type=Path, help=\"Path to local manifest file or artifact directory.\")\n    parser.add_argument(\"--component\", nargs=\"?\", help=\"Component name\")\n    parser.add_argument(\"--type\", nargs=\"?\", help=\"Artifact type\")\n    parser.add_argument(\"--sigtype\", choices=ACCEPTED_SIGNATURE_FILE_TYPES, help=\"Type of Signature file\", default=\".asc\")\n    parser.add_argument(\n        \"-v\",\n        \"--verbose\",\n        help=\"Show more verbose output.\",\n        action=\"store_const\",\n        default=logging.INFO,\n        const=logging.DEBUG,\n        dest=\"logging_level\",\n    )\n    args = parser.parse_args()\n\n    console.configure(level=args.logging_level)\n\n    sign = SignArtifacts.from_path(path=args.target,\n                                   component=args.component,\n                                   artifact_type=args.type,\n                                   signature_type=args.sigtype,\n                                   signer=Signer())\n\n    sign.sign()\n\n\nif __name__ == \"__main__\":\n    sys.exit(main())\n", "path": "src/run_sign.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\n# SPDX-License-Identifier: Apache-2.0\n#\n# The OpenSearch Contributors require contributions made to\n# this file be licensed under the Apache-2.0 license or a\n# compatible open source license.\n\nimport argparse\nimport logging\nimport sys\nfrom pathlib import Path\n\nfrom sign_workflow.sign_artifacts import SignArtifacts\nfrom sign_workflow.signer import Signer\nfrom system import console\n\nACCEPTED_SIGNATURE_FILE_TYPES = [\".sig\"]\n\n\ndef main():\n    parser = argparse.ArgumentParser(description=\"Sign artifacts\")\n    parser.add_argument(\"target\", type=Path, help=\"Path to local manifest file or artifact directory.\")\n    parser.add_argument(\"--component\", nargs=\"?\", help=\"Component name\")\n    parser.add_argument(\"--type\", nargs=\"?\", help=\"Artifact type\")\n    parser.add_argument(\"--sigtype\", choices=ACCEPTED_SIGNATURE_FILE_TYPES, help=\"Type of Signature file\", default=\".asc\")\n    parser.add_argument(\"--platform\", nargs=\"?\", help=\"The distribution platform\", default=\"linux\")\n    parser.add_argument(\n        \"-v\",\n        \"--verbose\",\n        help=\"Show more verbose output.\",\n        action=\"store_const\",\n        default=logging.INFO,\n        const=logging.DEBUG,\n        dest=\"logging_level\",\n    )\n    args = parser.parse_args()\n\n    console.configure(level=args.logging_level)\n\n    sign = SignArtifacts.from_path(path=args.target,\n                                   component=args.component,\n                                   artifact_type=args.type,\n                                   signature_type=args.sigtype,\n                                   signer=Signer())\n\n    sign.sign()\n\n\nif __name__ == \"__main__\":\n    sys.exit(main())\n", "path": "src/run_sign.py"}]}