[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