diff --git a/src/newsreader/conf/base.py b/src/newsreader/conf/base.py index b117b4f..43b89fd 100644 --- a/src/newsreader/conf/base.py +++ b/src/newsreader/conf/base.py @@ -2,6 +2,8 @@ import os from pathlib import Path +from .version import get_current_version + BASE_DIR = Path(__file__).resolve().parent.parent.parent.parent DJANGO_PROJECT_DIR = os.path.join(BASE_DIR, "src", "newsreader") @@ -212,6 +214,8 @@ STATICFILES_FINDERS = [ DEFAULT_FROM_EMAIL = "newsreader@rss.fudiggity.nl" # Project settings +VERSION = get_current_version() + # Reddit integration REDDIT_CLIENT_ID = "CLIENT_ID" REDDIT_CLIENT_SECRET = "CLIENT_SECRET" diff --git a/src/newsreader/conf/production.py b/src/newsreader/conf/production.py index 5bc11a9..bfe9818 100644 --- a/src/newsreader/conf/production.py +++ b/src/newsreader/conf/production.py @@ -65,6 +65,7 @@ try: dsn=os.environ.get("SENTRY_DSN"), integrations=[DjangoIntegration(), CeleryIntegration()], send_default_pii=False, + release=VERSION, ) except ImportError: pass diff --git a/src/newsreader/conf/version.py b/src/newsreader/conf/version.py new file mode 100644 index 0000000..d91d770 --- /dev/null +++ b/src/newsreader/conf/version.py @@ -0,0 +1,13 @@ +import os +import subprocess + + +def get_current_version(): + if "VERSION" in os.environ: + return os.environ["VERSION"] + + try: + output = subprocess.check_output(["git", "describe"], universal_newlines=True) + return output.strip() + except (subprocess.CalledProcessError, OSError): + return ""