systemed / tilemaker

Make OpenStreetMap vector tiles without the stack
https://tilemaker.org/
Other
1.44k stars 229 forks source link

Fix Docker dynamic build #567

Closed Booligoosh closed 10 months ago

Booligoosh commented 10 months ago

Fixes the dynamically linked Docker image by installing the required libs on the final Docker image as well as the build Docker image. Now that it's not statically linked, they need to be present on the final Docker image as well, so that the Tilemaker executable can access them.

Note that building it like this with dynamic linking and the dependencies installed on the image increases the size of the image to 444MB, undoing some of the work from #363.

Booligoosh commented 10 months ago

Note that the "Generate mbtiles" check is still failing, because the GitHub Action is using the master image from Docker.

This probably ties into a larger conversation around tagging, versioning, and release management. Ideally, the CI would only run when new version tags are pushed, and then upload the Docker image with the correct version tag.

Then the GitHub action can reference the docker image tagged with the same version as the action itself - so if someone's workflow file references systemed/tilemaker@v2.0.0 then it'll use the image docker://ghcr.io/systemed/tilemaker:v2.0.0 rather than docker://ghcr.io/systemed/tilemaker:master.

But yeah, this docker image worked when I tested it locally, so the pipeline should hopefully pass once merged in.

systemed commented 10 months ago

Superb - thank you. I've merged it and forced a re-run (so it picks up the new image) and it's happily working.

Yes, that sounds like a good direction for the future for the image management.