summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordd <dd@wx.tnyzeq.icu>2024-10-06 17:56:28 +0200
committerdd <dd@wx.tnyzeq.icu>2024-10-06 18:10:26 +0200
commitdc35fa097f50b756df307122cc6a32148a12cb96 (patch)
tree7e37edf9faa3742c45f1e77ea7709f759b9de33d
parente119b73e2111943dcba994e03580eb8fdc50bc84 (diff)
downloadvyos-jenkins-dc35fa097f50b756df307122cc6a32148a12cb96.tar.gz
vyos-jenkins-dc35fa097f50b756df307122cc6a32148a12cb96.zip
updated circinus builder logging
-rw-r--r--new/lib/github.py6
-rw-r--r--new/lib/helpers.py35
2 files changed, 34 insertions, 7 deletions
diff --git a/new/lib/github.py b/new/lib/github.py
index 3cdd27d..b53f49b 100644
--- a/new/lib/github.py
+++ b/new/lib/github.py
@@ -1,4 +1,5 @@
#!/usr/bin/env python3
+import inspect
import logging
import os
from pprint import pprint
@@ -8,8 +9,11 @@ import requests
from requests import HTTPError
import yaml
+sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))))
+
from helpers import setup_logging
from lib.cache import Cache
+from lib.helpers import refuse_root
class GitHub:
@@ -162,6 +166,8 @@ if __name__ == "__main__":
setup_logging()
try:
+ refuse_root()
+
command = sys.argv[1] if len(sys.argv) > 1 else None
if command is None:
diff --git a/new/lib/helpers.py b/new/lib/helpers.py
index d2ea3f4..d488eb9 100644
--- a/new/lib/helpers.py
+++ b/new/lib/helpers.py
@@ -6,17 +6,19 @@ import subprocess
import sys
+
def rmtree(directory):
try:
shutil.rmtree(directory)
except PermissionError:
logging.error(
- "Unable to delete '%s' due to permissions."
+ "Unable to delete '%s' due to permissions."
" Please delete this directory yourself"
" with root privileges and then rerun again." % directory
)
exit(1)
+
def execute(command, passthrough=False, timeout=None, **kwargs):
if passthrough:
kwargs["stdout"] = sys.stdout
@@ -58,19 +60,38 @@ def quote_all(*args):
return tuple(quoted)
+class LessThanLevelFilter(logging.Filter):
+ def __init__(self, exclusive_maximum, name="LessThanLevelFilter"):
+ super(LessThanLevelFilter, self).__init__(name)
+ self.maximum_level = exclusive_maximum
+
+ def filter(self, record):
+ return 1 if record.levelno < self.maximum_level else 0
+
+
def setup_logging():
logger = logging.getLogger()
logger.setLevel(logging.INFO)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
- console = logging.StreamHandler(sys.stdout)
- console.setLevel(logging.INFO)
- console.setFormatter(formatter)
- logger.addHandler(console)
+
+ stderr_level = logging.WARNING
+
+ stdout = logging.StreamHandler(sys.stdout)
+ stdout.setLevel(logging.INFO)
+ stdout.addFilter(LessThanLevelFilter(stderr_level))
+ stdout.setFormatter(formatter)
+ logger.addHandler(stdout)
+
+ stderr = logging.StreamHandler(sys.stderr)
+ stderr.setLevel(stderr_level)
+ stderr.setFormatter(formatter)
+ logger.addHandler(stderr)
+
def refuse_root():
- if os.getuid() == 0:
+ if os.geteuid() == 0:
logging.error(
"ERROR: 'root' user detected, please don't run this script as root,"
" run as any other regular user that has docker access (usermod -aG docker YOUR_USER),"
" the root privileges would break some packages.")
- exit(1) \ No newline at end of file
+ exit(1)