Skip to content

Add Docker and docker-compose configurations for isolated local development#189

Open
facandiav wants to merge 6 commits into
miaucl:masterfrom
facandiav:dev
Open

Add Docker and docker-compose configurations for isolated local development#189
facandiav wants to merge 6 commits into
miaucl:masterfrom
facandiav:dev

Conversation

@facandiav

Copy link
Copy Markdown

Description

This PR introduces a dedicated Docker container environment for local development.

Currently, developers have to manage local Python versions (>= 3.10 or >= 3.12 depending on configuration variants), set up virtual environments locally, and handle host-level dependency constraints.

This configuration resolves those issues by introducing a standardized container (python:3.12-slim), ensuring pre-commit hooks and integration tests pass perfectly regardless of the host machine.

Changes included

  • Dockerfile: Provides a stable python:3.12-slim base that automatically configures build dependencies.
  • docker-compose.yml: Mounts the project root so developers get live-reloading.
  • .env.example: Provides a clear template for required Cookidoo credentials.
  • README.md: Updated the Dev documentation chapter.

How to use

cp .env.example .env
# Set valid values in .env, then start the container
docker-compose up -d
docker-compose exec dev bash

Testing Strategy

  • Verified image builds successfully without local caching conflicts.
  • Ran all code quality hooks (pre-commit run --all-files) inside the isolated container (Result: Exit Code 0).
  • Validated credentials and successfully fetched token from Cookidoo integration endpoints (pytest smoke_test/test_1_setup_token.py).

@github-actions github-actions Bot added the 📖 documentation Improvements or additions to documentation label Apr 12, 2026
@codecov

codecov Bot commented Apr 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (d1d36b3) to head (5304cba).
⚠️ Report is 8 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #189   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            7         7           
  Lines         1341      1341           
  Branches        51        51           
=========================================
  Hits          1341      1341           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@miaucl miaucl left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, nice addition, there are some issues left concerning markdown.

I like my local venv setup, but for others it might be useful.

BTW: Why not make a .devcontainer setup directly? Not sure if you know it or use it, but this would push it a step further even :)

@miaucl

miaucl commented Apr 16, 2026

Copy link
Copy Markdown
Owner

(Ignore the auto-label pipeline, it is a token issue for forked PRs...)

@facandiav

Copy link
Copy Markdown
Author

Thanks for the comments, yes docker as an alt dev setup aside from local venv, not exclusive. Will take a look at the markdown issues and the .devcontainer setup 🙂

@facandiav

Copy link
Copy Markdown
Author

Updated PR with fixed md format and devcontainer setup

@facandiav facandiav requested a review from miaucl April 17, 2026 05:10
@miaucl miaucl added the run smoke test Smoke test requires secrets, only run after review label May 3, 2026

@miaucl miaucl left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nitpick by the markdown linter, but otherwise very nice addition, thx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📖 documentation Improvements or additions to documentation run smoke test Smoke test requires secrets, only run after review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants