mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 04:31:13 +00:00
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:
12
.github/workflows/docker.yml
vendored
12
.github/workflows/docker.yml
vendored
@@ -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
1
MANIFEST.in
vendored
Normal file
@@ -0,0 +1 @@
|
||||
include openbb_terminal/.env
|
||||
10
build/pypi/build.sh
vendored
Normal file
10
build/pypi/build.sh
vendored
Normal 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
|
||||
2
docker/poetry-deps.dockerfile
vendored
2
docker/poetry-deps.dockerfile
vendored
@@ -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
|
||||
|
||||
2
docker/poetry.dockerfile
vendored
2
docker/poetry.dockerfile
vendored
@@ -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"]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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
1
pyproject.toml
vendored
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user