Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up DockerFile #37

Merged
merged 6 commits into from
Dec 31, 2023
Merged

Clean up DockerFile #37

merged 6 commits into from
Dec 31, 2023

Conversation

jplhanna
Copy link
Owner

No description provided.

@jplhanna jplhanna enabled auto-merge (squash) December 31, 2023 04:48
@jplhanna jplhanna merged commit 7dc9d33 into main Dec 31, 2023
1 check passed
@jplhanna jplhanna deleted the add-env-to-git-ignore branch December 31, 2023 04:49
jplhanna added a commit that referenced this pull request Jan 2, 2024
* Add .env to .gitignore file

* Update precommit with hook that auto adds ticket from branch name

* Update pre commit config so things are install into the correct stages

* Update docker to use pipx rather than a curl command

* Update the docker file to utilize pipx and an up to date version of poetry

* Fix comments in Dockerfile

---------

Co-authored-by: JP Hanna <[email protected]>
jplhanna added a commit that referenced this pull request Feb 8, 2024
* DQB-27 Created menu tables

* Add initial implementation of MenuService

* DQB-27 Fix black alembic hook to no longer think line lenght is 79

* Clean up DockerFile (#37)

* Add .env to .gitignore file

* Update precommit with hook that auto adds ticket from branch name

* Update pre commit config so things are install into the correct stages

* Update docker to use pipx rather than a curl command

* Update the docker file to utilize pipx and an up to date version of poetry

* Fix comments in Dockerfile

---------

Co-authored-by: JP Hanna <[email protected]>

* Introduce initial retrieve tavern menu of the week support

* Fix commit-msg hook

* Created IntEnum model type

* Update pre commit versions and set giticket mode

* Update ars for giticket

* DQB-27 Test

* Update MenuItem to use Enum and update Menu query to be more specific

* Add menu data in tavern menu command response

* DQB-27 Create test for menu item grouping property

* DQB-27 Fix commit msg hooks

Replace ticket commit msg hook to work when not using -m.
Add hook for commit message linting.

* DQB-27 Update gitlint rules

Title match now matches what should always be expected.
Required file names updated to include more configuration level files.

DQB-27 #comment # Please enter the commit message for your changes. Lines starting

* DQB-27 Write tests for the new menu retrieval command

Updated ctx fixture to include guild and be modifiable per test.
Unit tests created for Menu property, and all variations of the command controller

DQB-27 #comment # Please enter the commit message for your changes. Lines starting

* DQB-27 Migrate dictionary configuration to pydantic-settings

Dictionary based config does not support defaulting or validation.
Pydantic supports an extensible env reader configuration.
Updated pyproject.toml with pydantic and pydantic-settings.
As well as including pydantic within mypy

* DQB-27 Update poetry lock file with new package versions

dependency-injector does not support 3.12 yet so updating all existing packages.
pydantic requires usage of typing-extension.
Update pyproject.toml to allow upward bounds of sqlalchemy, asyncpg.

* DQB-27 Finish migration from dict based settings to pydantic

docker-compose.yml updated to support testing through env variables.
Also updated docker-compose to reduce redundancy.
Resolve mypy issues.

* DQB-27 Update to better support local setup

Update Dockerfile and docker-compose.yml to better support unique local setup
Update README.md to include all env variables that are required

* DQB-27 Fix issues with the Pydantic Setings configuration

Dependency-injector does not support pydantic settings v2 so must still use dictionary.
Defaults were also not defined correctly.

* DQB-27 Enforce non empty strings in configuration

Utilize type Annotation and StringConstraint to enforce that config values cannot be an empty string.
Thus not allowing the server to start if not all the configuration values are there.

* DQB-27 Migrate to pydantic and SQLModel

Update pyproject.toml to include SQLModel.
Update docker-compose.yml to continue to better support dynamic local development

* DQB-27 Updates to testing suite

Update more of testing suite to work

* DQB-27 Remove bad fixture, update get first

get first was using replace but not setting it to anything.

* DQB-27 Fix integration tests by fixing event loop creation

Event loop was not being created within the event loop causing 2 differents loops to be used.

* DQB-27 Update sqlalchemy and pytest versioning

Update pyproject.toml to cap pytest version, 8.0.0 currently breaks pytest-asyncio
Update sqlalchemy to now use non beta versions and ensure asyncio support is included.

* DQB-27 Fix pydantic config not properly dumping db uri

Pydantic requires properties to be marked as computed fields
Alembic config also needed to be updated to use this new uri

* DQB-27 Align tests with actual run of bot

Tests and bot run should both use sqlmodles AsyncSession class
Updated repository to utilize this new class

* DQB-27 Remove unnecessary mypy workaround

Previously discord did not properly support mypy typing, has since been fixed

* DQB-27 Introduce menu tables and update alembic for sqlmodel

Update pyproject.toml to introduce new version of ruff.
Update alembic setup to support usage of sqlmodel

* DQB-27 Update ignore files

Update ignore files to support alembic and daemon mypy

* DQB-27 Update tavern group to add more layers

Tavern group now has menu as a sub group.
Create initial command to add items to the tavern menu

* DQB-27 Introduce code behind add menu item

Update menu service to be a more generic as a tavern service
Fill in code for adding a new item to the menu
DQB-27 #comment # Please enter the commit message for your changes. Lines starting

* DQB-27 Fix menu lookup query

Menu needs a big into for server id and look up needs to use between correctly

* DQB-27 Update group commands and clean up menu format

Group commands cannot be called directly and must have a fallback
Menu format is currently hard to read, adding some touch ups

* DQB-27 Create unit tests for upsert controller

Update existing tests for menu look up, and create new ones for the upsert to menu

* DQB-27 Introduce new integration tests

Introduce missing join test
Introduce test for update method
Update query arg to remove type in name of join attribute

* DQB-27 Update more of query arg to remove type in name

Rather than have list in name of all the query attributes have names that point
more to their functionality

* DQB-27 Update ruff config to support new style

Update pyproject.toml so that ruff lint configuration matches new standard

* DQB-27 Update service code to support multiple repos

Current service design does not support multiple repos.
Introduce a handler class that allows service to dynamically access
multiple repos by a defined name.
Implement command to remove items from menu

* DQB-27 Create tests for remove item

Create controller and service level unit tests for the remove item command

* DQB-27 Create more tests for deleting a menu item

Created a success test and created a some empty list tests

* DQB-27 Fix typo in docker ignore

Accidental typo in .dockerignore

* DQB-27 Update github actions

Update checkout to most recent version of 4.1.1
Update setup-python to version 5

---------

Co-authored-by: JP Hanna <[email protected]>
jplhanna added a commit that referenced this pull request Jul 20, 2024
* Add .env to .gitignore file

* Update precommit with hook that auto adds ticket from branch name

* Update pre commit config so things are install into the correct stages

* Update docker to use pipx rather than a curl command

* Update the docker file to utilize pipx and an up to date version of poetry

* Fix comments in Dockerfile

---------

Co-authored-by: JP Hanna <[email protected]>
jplhanna added a commit that referenced this pull request Jul 20, 2024
* DQB-27 Created menu tables

* Add initial implementation of MenuService

* DQB-27 Fix black alembic hook to no longer think line lenght is 79

* Clean up DockerFile (#37)

* Add .env to .gitignore file

* Update precommit with hook that auto adds ticket from branch name

* Update pre commit config so things are install into the correct stages

* Update docker to use pipx rather than a curl command

* Update the docker file to utilize pipx and an up to date version of poetry

* Fix comments in Dockerfile

---------

Co-authored-by: JP Hanna <[email protected]>

* Introduce initial retrieve tavern menu of the week support

* Fix commit-msg hook

* Created IntEnum model type

* Update pre commit versions and set giticket mode

* Update ars for giticket

* DQB-27 Test

* Update MenuItem to use Enum and update Menu query to be more specific

* Add menu data in tavern menu command response

* DQB-27 Create test for menu item grouping property

* DQB-27 Fix commit msg hooks

Replace ticket commit msg hook to work when not using -m.
Add hook for commit message linting.

* DQB-27 Update gitlint rules

Title match now matches what should always be expected.
Required file names updated to include more configuration level files.

DQB-27 #comment # Please enter the commit message for your changes. Lines starting

* DQB-27 Write tests for the new menu retrieval command

Updated ctx fixture to include guild and be modifiable per test.
Unit tests created for Menu property, and all variations of the command controller

DQB-27 #comment # Please enter the commit message for your changes. Lines starting

* DQB-27 Migrate dictionary configuration to pydantic-settings

Dictionary based config does not support defaulting or validation.
Pydantic supports an extensible env reader configuration.
Updated pyproject.toml with pydantic and pydantic-settings.
As well as including pydantic within mypy

* DQB-27 Update poetry lock file with new package versions

dependency-injector does not support 3.12 yet so updating all existing packages.
pydantic requires usage of typing-extension.
Update pyproject.toml to allow upward bounds of sqlalchemy, asyncpg.

* DQB-27 Finish migration from dict based settings to pydantic

docker-compose.yml updated to support testing through env variables.
Also updated docker-compose to reduce redundancy.
Resolve mypy issues.

* DQB-27 Update to better support local setup

Update Dockerfile and docker-compose.yml to better support unique local setup
Update README.md to include all env variables that are required

* DQB-27 Fix issues with the Pydantic Setings configuration

Dependency-injector does not support pydantic settings v2 so must still use dictionary.
Defaults were also not defined correctly.

* DQB-27 Enforce non empty strings in configuration

Utilize type Annotation and StringConstraint to enforce that config values cannot be an empty string.
Thus not allowing the server to start if not all the configuration values are there.

* DQB-27 Migrate to pydantic and SQLModel

Update pyproject.toml to include SQLModel.
Update docker-compose.yml to continue to better support dynamic local development

* DQB-27 Updates to testing suite

Update more of testing suite to work

* DQB-27 Remove bad fixture, update get first

get first was using replace but not setting it to anything.

* DQB-27 Fix integration tests by fixing event loop creation

Event loop was not being created within the event loop causing 2 differents loops to be used.

* DQB-27 Update sqlalchemy and pytest versioning

Update pyproject.toml to cap pytest version, 8.0.0 currently breaks pytest-asyncio
Update sqlalchemy to now use non beta versions and ensure asyncio support is included.

* DQB-27 Fix pydantic config not properly dumping db uri

Pydantic requires properties to be marked as computed fields
Alembic config also needed to be updated to use this new uri

* DQB-27 Align tests with actual run of bot

Tests and bot run should both use sqlmodles AsyncSession class
Updated repository to utilize this new class

* DQB-27 Remove unnecessary mypy workaround

Previously discord did not properly support mypy typing, has since been fixed

* DQB-27 Introduce menu tables and update alembic for sqlmodel

Update pyproject.toml to introduce new version of ruff.
Update alembic setup to support usage of sqlmodel

* DQB-27 Update ignore files

Update ignore files to support alembic and daemon mypy

* DQB-27 Update tavern group to add more layers

Tavern group now has menu as a sub group.
Create initial command to add items to the tavern menu

* DQB-27 Introduce code behind add menu item

Update menu service to be a more generic as a tavern service
Fill in code for adding a new item to the menu
DQB-27 #comment # Please enter the commit message for your changes. Lines starting

* DQB-27 Fix menu lookup query

Menu needs a big into for server id and look up needs to use between correctly

* DQB-27 Update group commands and clean up menu format

Group commands cannot be called directly and must have a fallback
Menu format is currently hard to read, adding some touch ups

* DQB-27 Create unit tests for upsert controller

Update existing tests for menu look up, and create new ones for the upsert to menu

* DQB-27 Introduce new integration tests

Introduce missing join test
Introduce test for update method
Update query arg to remove type in name of join attribute

* DQB-27 Update more of query arg to remove type in name

Rather than have list in name of all the query attributes have names that point
more to their functionality

* DQB-27 Update ruff config to support new style

Update pyproject.toml so that ruff lint configuration matches new standard

* DQB-27 Update service code to support multiple repos

Current service design does not support multiple repos.
Introduce a handler class that allows service to dynamically access
multiple repos by a defined name.
Implement command to remove items from menu

* DQB-27 Create tests for remove item

Create controller and service level unit tests for the remove item command

* DQB-27 Create more tests for deleting a menu item

Created a success test and created a some empty list tests

* DQB-27 Fix typo in docker ignore

Accidental typo in .dockerignore

* DQB-27 Update github actions

Update checkout to most recent version of 4.1.1
Update setup-python to version 5

---------

Co-authored-by: JP Hanna <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant