diff --git a/data-workflows/Dockerfile b/data-workflows/Dockerfile index 07d59053b..f224c4d93 100644 --- a/data-workflows/Dockerfile +++ b/data-workflows/Dockerfile @@ -1,7 +1,9 @@ FROM public.ecr.aws/lambda/python:3.9 -COPY requirements.txt . -RUN ["pip", "install", "-r", "requirements.txt"] +COPY ./napari-hub-commons ../napari-hub-commons +COPY ./data-workflows/requirements.txt . +RUN pip install -r requirements.txt + +COPY ./data-workflows/ . -COPY . . CMD ["handler.handle"] diff --git a/data-workflows/activity/processor.py b/data-workflows/activity/processor.py index 3c98d612e..3618a89f2 100644 --- a/data-workflows/activity/processor.py +++ b/data-workflows/activity/processor.py @@ -7,7 +7,7 @@ import activity.github_activity_model as github_model import activity.snowflake_adapter as snowflake from utils.utils import ParameterStoreAdapter -import utils.utils +import nhcommons LOGGER = logging.getLogger() @@ -64,7 +64,7 @@ def _update_github_activity(start_time: int, end_time: int) -> None: def update_activity() -> None: parameter_store = ParameterStoreAdapter() last_updated_timestamp = parameter_store.get_last_updated_timestamp() - current_timestamp = utils.utils.get_current_timestamp() + current_timestamp = nhcommons.utils.get_current_timestamp() _update_install_activity(last_updated_timestamp, current_timestamp) _update_github_activity(last_updated_timestamp, current_timestamp) parameter_store.set_last_updated_timestamp(current_timestamp) diff --git a/data-workflows/activity/tests/test_processor.py b/data-workflows/activity/tests/test_processor.py index efe9a1b3a..3bd1209e8 100644 --- a/data-workflows/activity/tests/test_processor.py +++ b/data-workflows/activity/tests/test_processor.py @@ -9,8 +9,8 @@ import activity.processor as processor from activity.install_activity_model import InstallActivityType from activity.github_activity_model import GitHubActivityType -import utils.utils as util from utils.utils import ParameterStoreAdapter +import nhcommons START_TIME = 1234567 END_TIME = 1239876 @@ -67,7 +67,7 @@ def _setup_parameter_store_adapter(self, monkeypatch): @pytest.fixture(autouse=True) def setup_method(self, monkeypatch): - monkeypatch.setattr(util, "get_current_timestamp", lambda: END_TIME) + monkeypatch.setattr(nhcommons.utils, "get_current_timestamp", lambda: END_TIME) self._install_transform_and_write_mock = Mock( spec=activity_iam.transform_and_write_to_dynamo ) diff --git a/data-workflows/requirements.txt b/data-workflows/requirements.txt index cddf79145..723ea696a 100644 --- a/data-workflows/requirements.txt +++ b/data-workflows/requirements.txt @@ -2,3 +2,4 @@ snowflake-connector-python==3.0.0 boto3==1.26.77 pynamodb==5.4.1 python-slugify==8.0.1 +./../napari-hub-commons diff --git a/docker-compose.yml b/docker-compose.yml index b492172f6..2200563f2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -115,7 +115,8 @@ services: data-workflows: image: '${DOCKER_REPO}napari-hub-dev-data-workflows' build: - context: data-workflows + context: . + dockerfile: data-workflows/Dockerfile cache_from: - '${DOCKER_REPO}napari-hub-dev-data-workflows:${STACK_NAME}' args: @@ -124,8 +125,6 @@ services: - HAPPY_BRANCH - HAPPY_TAG restart: always - depends_on: - - localstack ports: - '5000:5000' environment: diff --git a/napari-hub-commons/requirements.txt b/napari-hub-commons/requirements.txt new file mode 100644 index 000000000..9d41f264a --- /dev/null +++ b/napari-hub-commons/requirements.txt @@ -0,0 +1 @@ +gunicorn==20.1.0 diff --git a/napari-hub-commons/setup.py b/napari-hub-commons/setup.py new file mode 100644 index 000000000..f509e1a28 --- /dev/null +++ b/napari-hub-commons/setup.py @@ -0,0 +1,14 @@ +from setuptools import setup, find_packages + +description = "shared utilities and models" + +setup( + name="napari-hub-commons", + version="0.1.0", + author=", ".join(["Napari Hub Team"]), + description=description, + long_description=description, + package_dir={"": "src"}, + packages=find_packages(where="src"), + python_requires=">=3.8", +) diff --git a/napari-hub-commons/src/nhcommons/__init__.py b/napari-hub-commons/src/nhcommons/__init__.py new file mode 100644 index 000000000..78eb38905 --- /dev/null +++ b/napari-hub-commons/src/nhcommons/__init__.py @@ -0,0 +1 @@ +from nhcommons import utils diff --git a/napari-hub-commons/src/nhcommons/utils/__init__.py b/napari-hub-commons/src/nhcommons/utils/__init__.py new file mode 100644 index 000000000..62281b1f1 --- /dev/null +++ b/napari-hub-commons/src/nhcommons/utils/__init__.py @@ -0,0 +1,3 @@ +from nhcommons.utils.time import ( + get_current_timestamp, +) diff --git a/napari-hub-commons/src/nhcommons/utils/time.py b/napari-hub-commons/src/nhcommons/utils/time.py new file mode 100644 index 000000000..c1d251e60 --- /dev/null +++ b/napari-hub-commons/src/nhcommons/utils/time.py @@ -0,0 +1,5 @@ +import time + + +def get_current_timestamp() -> int: + return round(time.time() * 1000)