🐛 fix(commit-message): isolate CI event variables in tests
This commit is contained in:
@@ -18,10 +18,19 @@ ROOT = Path(__file__).resolve().parents[1]
|
|||||||
SKILL_ROOT = ROOT / "skills" / "commit-message"
|
SKILL_ROOT = ROOT / "skills" / "commit-message"
|
||||||
VALIDATOR = SKILL_ROOT / "scripts" / "validate_commit_message.py"
|
VALIDATOR = SKILL_ROOT / "scripts" / "validate_commit_message.py"
|
||||||
CI_ENTRY = ROOT / ".gitea" / "ci" / "commit_message_lint.py"
|
CI_ENTRY = ROOT / ".gitea" / "ci" / "commit_message_lint.py"
|
||||||
|
EVENT_ENV_KEYS = (
|
||||||
|
"GITHUB_EVENT_NAME",
|
||||||
|
"GITHUB_EVENT_PATH",
|
||||||
|
"GITEA_EVENT_NAME",
|
||||||
|
"GITEA_EVENT_PATH",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def run(script, *args, env=None):
|
def run(script, *args, env=None):
|
||||||
merged = {**os.environ, **(env or {})}
|
merged = os.environ.copy()
|
||||||
|
for key in EVENT_ENV_KEYS:
|
||||||
|
merged.pop(key, None)
|
||||||
|
merged.update(env or {})
|
||||||
merged.pop("COMMIT_POLICY_PATH", None)
|
merged.pop("COMMIT_POLICY_PATH", None)
|
||||||
return subprocess.run(
|
return subprocess.run(
|
||||||
[sys.executable, str(script), *args],
|
[sys.executable, str(script), *args],
|
||||||
|
|||||||
Reference in New Issue
Block a user