[geos-commits] [SCM] GEOS branch main updated. b4ffacf814c0095b7631ed2e0b2757aaf3d6b33b
git at osgeo.org
git at osgeo.org
Tue Mar 24 13:46:22 PDT 2026
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".
The branch, main has been updated
via b4ffacf814c0095b7631ed2e0b2757aaf3d6b33b (commit)
from afe57da9baff42e27afdbec613bb0fa8394eaba5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b4ffacf814c0095b7631ed2e0b2757aaf3d6b33b
Author: Mike Taves <mwtoews at gmail.com>
Date: Wed Mar 25 09:45:58 2026 +1300
CI: build container tags using docker/metadata-action (#1400)
diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml
index 07a0abb8c..0c755d659 100644
--- a/.github/workflows/container.yml
+++ b/.github/workflows/container.yml
@@ -9,6 +9,8 @@ on:
push:
branches:
- main
+ tags:
+ - '*.*.*'
paths-ignore:
- 'web/**'
@@ -24,8 +26,17 @@ jobs:
- uses: actions/checkout at v6
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action at v4
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action at v6
+ with:
+ images: ghcr.io/libgeos/geosop
+ # generate Docker tags based on the following events/attributes
+ tags: |
+ type=ref,event=branch
+ type=semver,pattern={{major}}.{{minor}}
+ type=semver,pattern={{version}}
+ type=sha
- name: Login to GitHub Container Registry
uses: docker/login-action at v4
@@ -34,6 +45,9 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action at v4
+
- name: Get Dockerfile
run: |
cp tools/ci/geosop/Dockerfile .
@@ -42,11 +56,6 @@ jobs:
uses: docker/build-push-action at v7
with:
context: .
- # platforms: linux/amd64,linux/arm64
- platforms: linux/amd64
push: true
- tags: |
- ghcr.io/libgeos/geosop:latest
-
-
-
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
diff --git a/tools/ci/geosop/Dockerfile b/tools/ci/geosop/Dockerfile
index 5854cd3bc..a20b783bf 100644
--- a/tools/ci/geosop/Dockerfile
+++ b/tools/ci/geosop/Dockerfile
@@ -1,28 +1,38 @@
-FROM docker.osgeo.org/geos/build-test:alpine AS base
-ARG VERSION=47f145e
+ARG BASEIMAGE="alpine:3.23"
+ARG GEOS_VERSION
+
+FROM ${BASEIMAGE} AS builder
+
+RUN apk add --no-cache \
+ cmake \
+ ninja \
+ g++ \
+ gcc
-WORKDIR /source
ADD . /source
-#RUN wget --quiet https://github.com/libgeos/geos/archive/${VERSION}.tar.gz --output-document - \
-#| tar xz --directory=. --strip-components=1
+ARG GEOS_VERSION
+ENV GEOS_VERSION=${GEOS_VERSION}
+RUN if [ -n "${GEOS_VERSION}" ]; then \
+ rm -rf /source && mkdir /source && \
+ wget https://github.com/libgeos/geos/archive/${GEOS_VERSION}.tar.gz \
+ --output-document - | tar xz --directory=/source --strip-components=1; \
+ fi
-WORKDIR /build
-RUN cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_BENCHMARKS=OFF -D BUILD_TESTING=OFF /source \
- && make install \
- && cp bin/geosop /usr/local/bin/geosop
+RUN cmake -S /source -B /build -G Ninja \
+ -D CMAKE_BUILD_TYPE=Release \
+ -D CMAKE_INSTALL_LIBDIR=lib \
+ -D BUILD_BENCHMARKS=OFF \
+ -D BUILD_DOCUMENTATION=OFF \
+ -D BUILD_TESTING=OFF \
+ && cmake --build /build \
+ && cmake --install /build --prefix /install --strip
-WORKDIR /install/bin
-RUN cp --no-dereference /usr/local/bin/geos* . \
- && for i in ./*; do strip -s $i 2>/dev/null || /bin/true; done
+FROM ${BASEIMAGE} AS runner
-WORKDIR /install/lib
-RUN cp --no-dereference /usr/local/lib*/libgeos*.so.* . \
- && for i in ./*; do strip -s $i 2>/dev/null || /bin/true; done
-
-FROM alpine
RUN apk add --no-cache libstdc++
-COPY --from=base /install/bin/geos* /usr/local/bin/
-COPY --from=base /install/lib/libgeos* /usr/local/lib/
+
+COPY --from=builder /install/bin/geosop /usr/local/bin/geosop
+COPY --from=builder /install/lib/libgeos.* /usr/local/lib/
ENTRYPOINT ["geosop"]
-----------------------------------------------------------------------
Summary of changes:
.github/workflows/container.yml | 27 +++++++++++++++--------
tools/ci/geosop/Dockerfile | 48 +++++++++++++++++++++++++----------------
2 files changed, 47 insertions(+), 28 deletions(-)
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list