Skip to content

Conversation

tobiasmcnulty
Copy link
Member

@tobiasmcnulty tobiasmcnulty commented Sep 16, 2025

This PR makes several improvements to streamline the local Docker setup process:

  1. Moves the Trac schema/table creation script out of the entry point and into a one-time initialization script, to avoid Postgres errors when it's inadvertently re-run when the web container is restarted.
  2. Moves the management commands that create data out of the Docker entrypoint and into their own reset-local-db Makefile target.
  3. Updates the Docker instructions with the applicable *.djangoproject.localhost:8000 links and ties back to the non-Docker setup.
  4. Runs tests via Docker, to avoid reoccurrences of Docker only install instructions run into database connection error trac does not exist #2193 (or similar)

@tobiasmcnulty tobiasmcnulty force-pushed the docker-cleanup branch 5 times, most recently from df2a86e to e44015b Compare September 16, 2025 02:40
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR streamlines the Docker development setup by improving the initialization process and adding comprehensive test execution via Docker. The changes simplify the dev entrypoint script, reorganize database initialization, and provide clearer documentation for Docker-based development workflows.

  • Moved database initialization logic from the dev entrypoint to dedicated initialization scripts
  • Added a new Makefile target for resetting local development data
  • Enhanced GitHub Actions workflow to run tests via Docker Compose

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docker-entrypoint.dev.sh Simplified by removing database initialization commands that are now handled elsewhere
docker-entrypoint-initdb.d/02_trac_schema.sh New script to handle Trac database schema initialization during container startup
docker-compose.yml Updated volume mounts to use the new initialization directory structure
README.rst Enhanced Docker documentation with clearer step-by-step instructions and additional usage examples
Makefile Added reset-local-db target to consolidate database reset commands
.github/workflows/docker-test-build.yml Added Docker Compose setup and test execution for the tests.txt matrix
.dockerignore New file to exclude unnecessary directories from Docker build context

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@tobiasmcnulty tobiasmcnulty marked this pull request as ready for review September 16, 2025 03:10
@tobiasmcnulty
Copy link
Member Author

Hi, @easherma! Thanks again for your helping improving the Docker setup at the sprints. Would you be up for giving this a review when you have a moment? No rush.

@@ -30,3 +30,10 @@ test:

watch-scss:
watchmedo shell-command --patterns=*.scss --recursive --command="make compile-scss-debug" $(SCSS)

reset-local-db:
Copy link
Member

Choose a reason for hiding this comment

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

I think we can move the migrate command too.

Copy link
Member

@ulgens ulgens left a comment

Choose a reason for hiding this comment

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

I added a small comment about the migrate command call, but other than it looks nice 🌻

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.

2 participants