Docker + Pypi : update logs + builds (#3016)

* Log : move LOGGING_COMMIT_HASH

* Build : pypi

* Build : docker

* Poetry : pyproject.toml

* Docker : test cd

* Docker : test cd

* Docker : test cd

* Docker : update cd

* Docker : update workflow

* Docker : remove script

* Tests : loggers

* Docker : workflow

* Pypi : build script

* Pypi : adding MANIFEST.in

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
This commit is contained in:
Chavithra
2022-10-26 13:43:05 +02:00
committed by GitHub
parent 6f78c479c1
commit 67a50d92c7
12 changed files with 39 additions and 14 deletions

View File

@@ -7,6 +7,8 @@ jobs:
runs-on: ubuntu-latest
env:
OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY: ${{ github.repository }}
OPENBB_LOGGING_APP_NAME: "gst_docker"
steps:
- name: Checkout Code
@@ -19,6 +21,16 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup commit hash
run: |
echo "OPENBB_LOGGING_COMMIT_HASH=sha:$(git rev-parse --short=8 "$GITHUB_SHA")" >> $GITHUB_ENV
- name: Build env file
run: |
echo "OPENBB_LOGGING_APP_NAME='${OPENBB_LOGGING_APP_NAME}'" > openbb_terminal/.env
echo "OPENBB_LOGGING_COMMIT_HASH='${OPENBB_LOGGING_COMMIT_HASH}'" >> openbb_terminal/.env
cat openbb_terminal/.env
- name: Building the Docker image
run: |
source docker/compose.env

1
MANIFEST.in vendored Normal file
View File

@@ -0,0 +1 @@
include openbb_terminal/.env

10
build/pypi/build.sh vendored Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
# BUILD `openbb_terminal/.env`
OPENBB_LOGGING_COMMIT_HASH="sha:$(git rev-parse --short=8 HEAD)"
OPENBB_LOGGING_APP_NAME="gst_packaged_pypi"
echo "OPENBB_LOGGING_APP_NAME='${OPENBB_LOGGING_APP_NAME}'" > openbb_terminal/.env
echo "OPENBB_LOGGING_COMMIT_HASH=${OPENBB_LOGGING_COMMIT_HASH}" >> openbb_terminal/.env
poetry build
poetry publish

View File

@@ -4,7 +4,7 @@ FROM ${OPENBBTERMINAL_DOCKER_PYTHON_IMAGE}
LABEL org.opencontainers.image.source https://github.com/OpenBB-finance/OpenBBTerminal
COPY --chown=python:python pyproject.toml poetry.lock /home/python/
COPY --chown=python:python pyproject.toml poetry.lock README.md /home/python/
RUN mkdir /home/python/openbb_terminal
RUN touch openbb_terminal/__init__.py

View File

@@ -6,6 +6,4 @@ LABEL org.opencontainers.image.source https://github.com/OpenBB-finance/OpenBBTe
COPY --chown=python:python . .
RUN echo "OPENBB_LOGGING_APP_NAME=gst_docker" > .env
CMD ["bash", "docker/entry-point-poetry.sh"]

View File

@@ -7,11 +7,12 @@ import dotenv
# IMPORTATION INTERNAL
from openbb_terminal.core.config.paths import USER_ENV_FILE, REPOSITORY_ENV_FILE
from openbb_terminal.core.config.paths import PACKAGE_ENV_FILE, USER_ENV_FILE, REPOSITORY_ENV_FILE
from .helper_classes import TerminalStyle as _TerminalStyle
dotenv.load_dotenv(USER_ENV_FILE)
dotenv.load_dotenv(REPOSITORY_ENV_FILE, override=True)
dotenv.load_dotenv(PACKAGE_ENV_FILE, override=True)
# Terminal UX section
MPL_STYLE = os.getenv("OPENBB_MPLSTYLE") or "dark"
@@ -46,6 +47,7 @@ LOGGING_AWS_ACCESS_KEY_ID = (
LOGGING_AWS_SECRET_ACCESS_KEY = (
os.getenv("OPENBB_LOGGING_AWS_SECRET_ACCESS_KEY") or "REPLACE_ME"
)
LOGGING_COMMIT_HASH = str(os.getenv("OPENBB_LOGGING_COMMIT_HASH", "REPLACE_ME"))
# D | H | M | S
LOGGING_FREQUENCY = os.getenv("OPENBB_LOGGING_FREQUENCY") or "H"
# stdout,stderr,noop,file

View File

@@ -21,6 +21,7 @@ REPOSITORY_DIRECTORY = Path(__file__).parent.parent.parent.parent
PACKAGE_DIRECTORY = Path(__file__).parent.parent.parent
MISCELLANEOUS_DIRECTORY = PACKAGE_DIRECTORY / "miscellaneous"
REPOSITORY_ENV_FILE = REPOSITORY_DIRECTORY / ".env"
PACKAGE_ENV_FILE = PACKAGE_DIRECTORY / ".env"
SETTINGS_DIRECTORY = HOME_DIRECTORY / ".openbb_terminal"
USER_ENV_FILE = SETTINGS_DIRECTORY / ".env"

View File

@@ -11,6 +11,7 @@ import i18n
# IMPORTATION INTERNAL
from openbb_terminal.core.config.paths import (
MISCELLANEOUS_DIRECTORY,
PACKAGE_ENV_FILE,
REPOSITORY_ENV_FILE,
USER_DATA_SOURCES_DEFAULT_FILE,
USER_ENV_FILE,
@@ -23,6 +24,7 @@ paths_helper.init_userdata()
load_dotenv(USER_ENV_FILE)
load_dotenv(REPOSITORY_ENV_FILE, override=True)
load_dotenv(PACKAGE_ENV_FILE, override=True)
# Retry unknown commands with `load`
RETRY_WITH_LOAD = strtobool(os.getenv("OPENBB_RETRY_WITH_LOAD", "False"))
@@ -93,8 +95,6 @@ TOOLBAR_HINT = strtobool(os.getenv("OPENBB_TOOLBAR_HINT", "True"))
# Select language to be used
USE_LANGUAGE = str(os.getenv("OPENBB_USE_LANGUAGE", "en"))
LOGGING_COMMIT_HASH = str(os.getenv("OPENBB_LOGGING_COMMIT_HASH", "REPLACE_ME"))
# File that contains a JSON dictionary of preferred sources for commands
PREFERRED_DATA_SOURCE_FILE = str(
os.getenv(

View File

@@ -17,7 +17,6 @@ else:
WITH_GIT = True
# IMPORTATION INTERNAL
import openbb_terminal.feature_flags as obbff
from openbb_terminal.config_terminal import (
LOGGING_APP_NAME,
LOGGING_AWS_ACCESS_KEY_ID,
@@ -26,6 +25,7 @@ from openbb_terminal.config_terminal import (
LOGGING_HANDLERS,
LOGGING_ROLLING_CLOCK,
LOGGING_VERBOSITY,
LOGGING_COMMIT_HASH,
)
from openbb_terminal.core.log.generation.settings import (
AppSettings,
@@ -68,11 +68,11 @@ def get_app_id() -> str:
return app_id
def get_commit_hash() -> str:
def get_commit_hash(use_env=True) -> str:
"""Get Commit Short Hash"""
if obbff.LOGGING_COMMIT_HASH != "REPLACE_ME":
return obbff.LOGGING_COMMIT_HASH
if use_env and LOGGING_COMMIT_HASH != "REPLACE_ME":
return LOGGING_COMMIT_HASH
git_dir = Path(__file__).parent.parent.joinpath(".git")

View File

@@ -16,7 +16,7 @@ import requests
import matplotlib.pyplot as plt
# IMPORTATION INTERNAL
from openbb_terminal import config_terminal as cfg
from openbb_terminal.config_terminal import LOGGING_APP_NAME, LOGGING_COMMIT_HASH
from openbb_terminal import feature_flags as obbff
from openbb_terminal import thought_of_the_day as thought
from openbb_terminal.rich_config import console
@@ -88,7 +88,7 @@ def update_terminal():
"""Updates the terminal by running git pull in the directory.
Runs poetry install if needed.
"""
if not WITH_GIT or obbff.LOGGING_COMMIT_HASH != "REPLACE_ME":
if not WITH_GIT or LOGGING_COMMIT_HASH != "REPLACE_ME":
console.print("This feature is not available: Git dependencies not installed.")
return 0
@@ -183,7 +183,7 @@ def is_packaged_application() -> bool:
bool: If the application is packaged
"""
return cfg.LOGGING_APP_NAME == "gst_packaged"
return LOGGING_APP_NAME == "gst_packaged"
def bootup():

1
pyproject.toml vendored
View File

@@ -6,6 +6,7 @@ authors = ["Didier Rodrigues Lopes"]
packages = [
{ include = "openbb_terminal" },
]
readme = "README.md"
[tool.poetry.scripts]
openbb = 'openbb_terminal.terminal_controller:parse_args_and_run'

View File

@@ -64,7 +64,7 @@ def test_get_commit_hash(mocker, git):
def test_get_commit_hash_obff(mocker):
mocker.patch("openbb_terminal.loggers.obbff")
mocker.patch("openbb_terminal.loggers.LOGGING_COMMIT_HASH", "MOCKING_COMMIT_HASH")
value = loggers.get_commit_hash()
assert value