diff --git a/.gitignore b/.gitignore index 82f75fc..729049a 100644 --- a/.gitignore +++ b/.gitignore @@ -107,6 +107,7 @@ poetry.lock # However, this project does not rely on pdm for production. pdm.lock .pdm-python +.pdm-build # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ diff --git a/compose.yml b/compose.yml index cf07161..65aa096 100644 --- a/compose.yml +++ b/compose.yml @@ -5,7 +5,6 @@ services: - .env.template build: context: . - dockerfile: dockerfile + dockerfile: containerfile image: waka-readme:testing container_name: WakaReadmeTesting - command: python -m unittest discover diff --git a/containerfile b/containerfile new file mode 100644 index 0000000..84d3db6 --- /dev/null +++ b/containerfile @@ -0,0 +1,50 @@ +FROM docker.io/python:3-slim + +ENV INPUT_GH_TOKEN \ + INPUT_WAKATIME_API_KEY \ + # meta + INPUT_API_BASE_URL \ + INPUT_REPOSITORY \ + # content + INPUT_SHOW_TITLE \ + INPUT_SECTION_NAME \ + INPUT_BLOCKS \ + INPUT_CODE_LANG \ + INPUT_TIME_RANGE \ + INPUT_LANG_COUNT \ + INPUT_SHOW_TIME \ + INPUT_SHOW_TOTAL \ + INPUT_SHOW_MASKED_TIME \ + INPUT_STOP_AT_OTHER \ + # commit + INPUT_COMMIT_MESSAGE \ + INPUT_TARGET_BRANCH \ + INPUT_TARGET_PATH \ + INPUT_COMMITTER_NAME \ + INPUT_COMMITTER_EMAIL \ + INPUT_AUTHOR_NAME \ + INPUT_AUTHOR_EMAIL + + +ENV PATH="${PATH}:/root/.local/bin" \ + # python + PYTHONFAULTHANDLER=1 \ + PYTHONUNBUFFERED=1 \ + PYTHONHASHSEED=random \ + PYTHONDONTWRITEBYTECODE=1 \ + # pip + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_NO_CACHE_DIR=1 \ + PIP_DEFAULT_TIMEOUT=100 + +# copy project files +COPY --chown=root:root pyproject.toml main.py /app/ + +# install dependencies +RUN python -m pip install /app/ + +# copy tests +COPY --chown=root:root tests /app/tests/ + +# run tests +CMD python -m unittest discover /app/ diff --git a/pyproject.toml b/pyproject.toml index 0262a6c..647f16e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ [project] name = "waka-readme" -version = "0.2.4" +version = "0.2.5" description = "Wakatime Weekly Metrics on your Profile Readme." authors = [{ name = "Athul Cyriac Ajay", email = "athul8720@gmail.com" }] license = { text = "MIT" } @@ -16,7 +16,7 @@ classifiers = [ "Typing :: Typed", ] requires-python = ">=3.11" -dependencies = ["faker>=19.3.0", "pygithub>=1.59.1", "requests>=2.31.0"] +dependencies = ["faker>=19.6.1", "pygithub>=1.59.1", "requests>=2.31.0"] [project.urls] Homepage = "https://github.com/athul/waka-readme" @@ -29,12 +29,18 @@ Changelog = "https://github.com/athul/waka-readme/commits/master" ############################# [project.optional-dependencies] -dev = ["loguru>=0.7.0", "python-dotenv>=1.0.0"] +extra = ["loguru>=0.7.2", "python-dotenv>=1.0.0"] + +############################# +# Development Dependencies # +############################# + +[tool.pdm.dev-dependencies] tooling = [ "bandit>=1.7.5", - "black>=23.7.0", - "ruff>=0.0.284", - "pyright>=1.1.323", + "black>=23.9.1", + "ruff>=0.0.290", + "pyright>=1.1.327", ] ####################