[PostGIS] #6108: Reconcile PostGIS Docker build environment repositories under Gitea/Woodie
PostGIS
trac at osgeo.org
Tue Jul 28 13:19:20 PDT 2026
#6108: Reconcile PostGIS Docker build environment repositories under Gitea/Woodie
---------------------------+----------------------------------------------
Reporter: komzpa | Owner: komzpa
Type: task | Status: new
Priority: medium | Milestone:
Component: QA/buildbots | Version: master
Resolution: | Keywords: docker woodie gitea ci build-env
---------------------------+----------------------------------------------
Old description:
> PostGIS currently has several Docker-related repositories with
> overlapping but different roles:
>
> * https://gitea.osgeo.org/postgis/postgis-docker
> * https://github.com/postgis/postgis-build-env
> * https://github.com/postgis/docker-postgis
>
> The third one, `postgis/docker-postgis`, should stay separate. It is the
> community/user-facing Docker image project for running PostGIS, and the
> PostGIS website already points users there for Docker installation.
>
> The first two are both development/CI build-environment surfaces:
>
> * `postgis-docker` builds OSGeo-hosted `postgis/build-test` images used
> by Dronie/Woodie-style development and regression testing.
> * `postgis-build-env` builds `postgis/postgis-build-env` images for
> PostGIS regression testing against PostgreSQL, GEOS, GDAL, PROJ, and
> SFCGAL combinations.
>
> These feel like two generations of the same maintainer-owned CI/build-
> image infrastructure. The split makes it harder to know which repository
> owns build images, which CI should run, and where contributors should
> send patches.
>
> Proposed direction:
>
> * Make Gitea the canonical repository location for PostGIS CI/build-
> environment Docker images.
> * Use the canonical repository name `postgis-build-env`; `postgis-docker`
> is too easily confused with `postgis/docker-postgis`, the user-facing
> Docker image repository.
> * Reconcile the current `postgis-docker` and `postgis-build-env` contents
> without losing history. This is feasible with an unrelated-history merge
> or subtree-style import, placing the imported tree under a clear prefix
> if needed.
> * Move CI/build automation to OSGeo-managed CI, preferably Woodie, with
> Jenkins/Debbie kept only where it remains the actual scheduler or
> compatibility surface.
> * Preserve published image names/tags during migration:
> * `repo.osgeo.org/postgis/build-test:*` / OSGeo registry build-test
> images
> * `postgis/postgis-build-env:*` on Docker Hub, at least during a
> transition
> * `repo.osgeo.org/postgis/build-env:*` if this is the preferred OSGeo
> registry target
> * Update the Trac Docker testing wiki and repository READMEs so
> contributors can tell:
> * development/build-env images live in Gitea `postgis-build-env`
> * production/user Docker images live in GitHub `postgis/docker-postgis`
>
> Suggested implementation plan:
>
> 1. Check whether Gitea can safely rename `postgis/postgis-docker` to
> `postgis/postgis-build-env` with redirects. If yes, rename it. If not,
> create `postgis/postgis-build-env` and leave `postgis-docker` as a read-
> only pointer.
> 2. Import the GitHub `postgis/postgis-build-env` history into the Gitea
> repository using a history-preserving merge/subtree import.
> 3. Add Woodie CI for image build/test matrix generation and non-push PR
> validation.
> 4. Add protected branch publish jobs, keeping existing Docker Hub tags
> and adding/keeping OSGeo registry tags as agreed.
> 5. Archive or demote the GitHub `postgis/postgis-build-env` repository
> after Gitea CI and image publishing are proven.
> 6. Update documentation links:
> * https://trac.osgeo.org/postgis/wiki/DevWikiDockerTesting
> * relevant repository READMEs
> * any PostGIS CI docs that reference the old GitHub location
>
> Acceptance criteria:
>
> * One canonical Gitea repository owns PostGIS development/CI build-
> environment Docker images.
> * Existing image consumers keep working during migration.
> * The old repository locations clearly point to the new owner.
> * Woodie/Jenkins build status is visible from the canonical repository.
> * Both original Git histories remain reachable from the new repository
> history.
New description:
PostGIS currently has several Docker-related repositories with overlapping
but different roles:
* https://gitea.osgeo.org/postgis/postgis-docker
* https://github.com/postgis/postgis-build-env
* https://github.com/postgis/docker-postgis
The third one, `postgis/docker-postgis`, should stay separate. It is the
community/user-facing Docker image project for running PostGIS, and the
PostGIS website already points users there for Docker installation.
The first two are both development/CI build-environment surfaces:
* `postgis-docker` builds OSGeo-hosted `postgis/build-test` images used by
Dronie/Woodie-style development and regression testing.
* `postgis-build-env` builds `postgis/postgis-build-env` images for
PostGIS regression testing against PostgreSQL, GEOS, GDAL, PROJ, and
SFCGAL combinations.
These feel like two generations of the same maintainer-owned CI/build-
image infrastructure. The split makes it harder to know which repository
owns build images, which CI should run, and where contributors should send
patches.
Proposed direction:
* Make Gitea the canonical repository location for PostGIS CI/build-
environment Docker images.
* Use the canonical repository name `postgis-build-env`; `postgis-docker`
is too easily confused with `postgis/docker-postgis`, the user-facing
Docker image repository.
* Reconcile the current `postgis-docker` and `postgis-build-env` contents
without losing history. This is feasible with an unrelated-history merge
or subtree-style import, placing the imported tree under a clear prefix if
needed.
* Move CI/build automation to OSGeo-managed CI, preferably Woodie, with
Jenkins/Debbie kept only where it remains the actual scheduler or
compatibility surface.
* Preserve published image names/tags during migration:
* `repo.osgeo.org/postgis/build-test:*` / OSGeo registry build-test
images
* `postgis/postgis-build-env:*` on Docker Hub, at least during a
transition
* `repo.osgeo.org/postgis/build-env:*` if this is the preferred OSGeo
registry target
* Update the Trac Docker testing wiki and repository READMEs so
contributors can tell:
* development/build-env images live in Gitea `postgis-build-env`
* production/user Docker images live in GitHub `postgis/docker-postgis`
Suggested implementation plan:
1. Check whether Gitea can safely rename `postgis/postgis-docker` to
`postgis/postgis-build-env` with redirects. If yes, rename it. If not,
create `postgis/postgis-build-env` and leave `postgis-docker` as a read-
only pointer.
2. Import the GitHub `postgis/postgis-build-env` history into the Gitea
repository using a history-preserving merge/subtree import.
3. Add Woodie CI for image build/test matrix generation and non-push PR
validation.
4. Add protected branch publish jobs, keeping existing Docker Hub tags and
adding/keeping OSGeo registry tags as agreed.
5. Archive or demote the GitHub `postgis/postgis-build-env` repository
after Gitea CI and image publishing are proven.
6. Update documentation links:
* https://trac.osgeo.org/postgis/wiki/DevWikiDockerTesting
* relevant repository READMEs
* any PostGIS CI docs that reference the old GitHub location
Acceptance criteria:
* One canonical Gitea repository owns PostGIS development/CI build-
environment Docker images.
* Existing image consumers keep working during migration.
* The old repository locations clearly point to the new owner.
* Woodie/Jenkins build status is visible from the canonical repository.
* Both original Git histories remain reachable from the new repository
history.
--
Comment (by strk):
I agree on the principle of consolidating those repositories, but
shouldn't we also take the chance to move the postgis/docker-postgis to
Gitea too ? At least nobody needs a Microsoft account to contribute to the
user-facing image ? I'd also rename it to drop the "docker" part,
replacing it with "oci" (
https://en.wikipedia.org/wiki/Open_Container_Initiative )
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/6108#comment:2>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list