Cleanup docker/makefile (STIT-347, STIT-348, STIT-349)#49
Cleanup docker/makefile (STIT-347, STIT-348, STIT-349)#49AlexAxthelm wants to merge 27 commits intomainfrom
Conversation
Update the PYTEST related targets, to no require an external script.
was overwriting the actual `PATH` var
There was a problem hiding this comment.
Pull request overview
This PR streamlines local-dev and CI entry points by refactoring Makefile targets, reorganizing Docker Compose profiles/services, and simplifying Python package test/build commands across the uv workspace.
Changes:
- Reworked Makefile targets to use
py-*and per-packageuv run --package ...helpers; updated GitHub Actions workflows accordingly. - Restructured docker-compose configuration with profiles, moved Adminer to
docker-compose.local.yml, and expandedenv.example. - Updated seed runner to wait for API readiness before posting payloads; adjusted OGSI tests to match the current OGFieldResource shape.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/test-package.py | Removed legacy per-package pytest runner script. |
| packages/stitch-ogsi/tests/test_og_field.py | Updated tests to stop assuming OGFieldResource exposes OilGasFieldBase fields directly. |
| env.example | Expanded and reorganized environment variables for API/DB/frontend/seed. |
| docker-compose.yml | Added profiles and refactored env handling for api/db/db-init/frontend. |
| docker-compose.local.yml | Moved Adminer here; seed config updated and made host-accessible. |
| deployments/seed/src/stitch/seed/client.py | Added wait_for_api() retry loop used by the seed entrypoint. |
| deployments/seed/src/stitch/seed/main.py | Calls wait_for_api() before running OpenAPI validation + seeding. |
| Makefile | Major target cleanup and new helpers for package/test/build workflows. |
| .github/workflows/python-*.yml | Updated CI to call the new Makefile targets. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| def test_has_both_base_class_fields(self, og_payload: Sequence[OGFieldSource]): | ||
| resource = OGFieldResource( | ||
| id=1, | ||
| name="Merged Field", | ||
| country="USA", | ||
| source_data=og_payload, | ||
| location_type="Onshore", | ||
| ) |
There was a problem hiding this comment.
This test no longer asserts any OilGasFieldBase fields (and no longer passes name/country/location_type), but the surrounding comments/docstring still describe OGFieldResource as combining OilAndGasFieldBase + Resource fields. Update the test name/comments to reflect the current model shape (e.g. that OGFieldResource holds view/provenance rather than inheriting field attributes).
There was a problem hiding this comment.
@mbarlow12 I think this is something you're better equipped to comment on, but I'm hoping that this could be a follow-up PR?
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Caught up with filters/querying today—will get it finished before the weekend. |
Refactors the local development workflow around a cleaner, more intentional set of Makefile targets and Docker Compose profiles. The goal is to simplify how services are started, reduce overlap between targets, and make the common development paths more obvious.
The Makefile now defines three primary entrypoints:
frontend-dev,api-dev, anddev-dockerwhich cover the main development modes. Supporting targets have been streamlined, and Docker Compose usage has been aligned with these flows via clearer profile usage and startup behavior.Includes changes to
.envfiles, and how handling of those variables are passed to docker containers.Key changes:
For usage and onboarding, see the updated HACKING.md.