MNT: the docker/ files still use the paths they had before the 2024 move - #1139
Merged
Gui-FernandesBR merged 4 commits intoAug 12, 2026
Conversation
RocketPy-Team#732 moved docker-compose.yml into docker/. Compose resolves relative host paths against the compose file's own directory, so `- .:/app` mounts docker/, which has no pyproject.toml and no requirements-tests.txt for the services to install.
…lares RocketPy-Team#857 moved requires-python to >=3.10; pip declines the install on 3.9. Renamed the service key so it does not outlive the version again.
python:latest and python:3.14 are the same digest today, so the image does not change. 3.14 is the ceiling of the test matrix, and a pinned tag is one renovate can see and bump.
The build command needs a repository-root context to find requirements.txt, compose runs from inside docker/, and the file tests 3.10 and 3.12 rather than 3.9 and 3.12.
Gui-FernandesBR
approved these changes
Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docker compose upcan't currently run the tests on any Python version, and I think allthree reasons are leftovers from moves the repo made for good reasons elsewhere. Four
commits, one finding each, so you can take any subset.
1. Both compose services mount the
dockerfolder, not the repositorye50d6461(#732) moveddocker-compose.ymlintodocker/. Compose resolves relativehost paths against the project directory, which defaults to the folder holding the
compose file — so
- .:/appmountsdocker/at/app, anddocker/has nopyproject.tomland norequirements-tests.txt. Both services then run:which can't succeed there.
- ..:/appmounts the repository root, which is what the pathmeant when it was written at the top level.
2.
python39-linuxis below the floor the package declaresaf7bbfff(#857) movedrequires-pythonto>=3.10in October. The compose file hasn'tbeen touched since November 2024, so it still asks for
python:3.9, and pip declines aRequires-Python mismatch before it builds anything. Renamed the service to
python310-linuxat the same time so the key doesn't outlive the version again.python312-linuxis left exactly as it is. 3.12 is inside>=3.10and works; it justisn't one of the two versions CI runs. If you'd rather compose mirrored the matrix
(
["3.10", "3.14"]), that's a one-line change, but it's your call and not a defect, so Ihaven't made it.
3.
FROM python:latest->FROM python:3.14This changes nothing about the image you build today. As of 2026-08-11 the
latestand
3.14tags on Docker Hub are the same digest:What it changes is next time.
.github/workflows/test_pytest.yamlrunspython-version: ["3.10", "3.14"], so the week 3.15 ships,latestmoves the containeronto a version the matrix doesn't cover, and nothing announces it. Pinning to the minor
tag keeps the patch releases coming.
It's also the one build input your Renovate can't see.
.github/renovate.jsonextendsconfig:recommended, whose dockerfile manager readsFROMlines — but a:latesttaghas nothing to bump, so it's skipped. Pinned, a 3.15 move arrives as a Renovate PR you can
read and merge, which is the same treatment the rest of the dependencies get.
4. The docs describe the pre-move layout
docs/development/docker.rststill saysdocker build -t rocketpy-image -f Dockerfile .,which after the move gives the build a context with no
requirements.txtin it, and stillsays the compose file tests "python 3.9 and 3.12". Updated both, plus the
FROM python:latestin the change-the-OS example, so the page matches the files.One thing I noticed and did not change
docker/.dockerignorelooks stranded by the same rename — it listsdocs/,.github/and
Makefile, which are repository-root paths, but it's only read when the build contextis
docker/. With the build command above the context is the repository root, and neither.dockerignorethere nordocker/Dockerfile.dockerignoreexists, so nothing is excludedand the whole tree including
.gitgets sent to the daemon. The fix depends on whichbuilder you're on, and unlike everything above that's a behaviour question rather than
something I can read out of a file — so I've left it alone rather than guess.
On provenance, since it matters for how much you should trust the numbers: I have no
Docker daemon on this machine, so none of this was built. Everything above is read off
files in this repository or off the Docker Hub API, both of which you can check the same
way I did. The two compose findings came from reading the tree after a Dockerfile linter I
maintain flagged the
:latestbase; the patch was prepared by an automated agent andre-read against
developby hand before opening. Happy to close it if it isn't useful.