From c3792dc333eabc0deb939855654450c35dd7808f Mon Sep 17 00:00:00 2001 From: Carlos Quintana Date: Thu, 12 May 2022 16:10:31 +0200 Subject: [PATCH] Obtain git information from version file --- .dockerignore | 3 ++- .github/workflows/main.yml | 17 +++++++++++------ .version | 1 + app/config.py | 19 +++++++++++++++++-- 4 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 .version diff --git a/.dockerignore b/.dockerignore index 67d5dc92..f749263d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -13,4 +13,5 @@ static/upload venv/ .venv .coverage -htmlcov \ No newline at end of file +htmlcov +.git/ \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 47a0ec43..5c10af83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,16 +114,21 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build image and publish to Docker Registry - uses: docker/build-push-action@v3 - with: - push: true - tags: ${{ steps.meta.outputs.tags }} - # We need to checkout the repository in order for the "Create Sentry release" to work - name: Checkout repository uses: actions/checkout@v2 + - name: Prepare version file + run: | + echo "${{ github.ref }}" > .version + + - name: Build image and publish to Docker Registry + uses: docker/build-push-action@v3 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + - name: Create Sentry release uses: getsentry/action-release@v1 env: diff --git a/.version b/.version new file mode 100644 index 00000000..90012116 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +dev \ No newline at end of file diff --git a/app/config.py b/app/config.py index 72eec144..44959066 100644 --- a/app/config.py +++ b/app/config.py @@ -2,14 +2,29 @@ import os import random import socket import string -import subprocess from ast import literal_eval +from pathlib import Path from typing import Callable, List from urllib.parse import urlparse from dotenv import load_dotenv -SHA1 = subprocess.getoutput("git rev-parse HEAD") +DEFAULT_VERSION = "unknown" + + +def load_version() -> str: + try: + this_file_path = Path(__file__) + root_dir_path = this_file_path.parent.parent + version_file_path = root_dir_path.joinpath(".version") + with open(version_file_path, "r") as f: + return f.readline().strip() + except Exception: + print("Could not load .version. Using default version") + return DEFAULT_VERSION + + +SHA1 = load_version() ROOT_DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))