diff --git a/Dockerfile b/Dockerfile index b28704ed7ef12a75320b253e295cbc8a81c44024..6f0b62932a83bc236934778d46dd7210d8c1495b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ FROM registry.conarx.tech/containers/postgresql/3.20 as tsbuilder-base -ENV POSTGRESQL_VER=16.3 +ENV POSTGRESQL_VER=17.2 # Copy build patches COPY patches build/patches @@ -54,9 +54,9 @@ RUN set -eux; \ -FROM tsbuilder-base as tsbuilder-2.15.2 +FROM tsbuilder-base as tsbuilder-2.17.2 -ENV TIMESCALEDB_VER=2.15.2 +ENV TIMESCALEDB_VER=2.17.2 # Checkout the right version RUN set -eux; \ @@ -110,9 +110,9 @@ RUN set -eux; \ fi -FROM tsbuilder-base as tsbuilder-2.15.1 +FROM tsbuilder-base as tsbuilder-2.17.1 -ENV TIMESCALEDB_VER=2.15.1 +ENV TIMESCALEDB_VER=2.17.1 # Checkout the right version RUN set -eux; \ @@ -166,242 +166,13 @@ RUN set -eux; \ fi -FROM tsbuilder-base as tsbuilder-2.15.0 - -ENV TIMESCALEDB_VER=2.15.0 - -# Checkout the right version -RUN set -eux; \ - cd build; \ - cd timescaledb; \ - git checkout "$TIMESCALEDB_VER" - -# Build -RUN set -eux; \ - cd build; \ - cd "timescaledb"; \ -# Patching -# patch -p1 < ../patches/timescaledb-2.14.0-fix-test-output.patch; \ - mkdir build; \ - cd build; \ - \ - cmake ..; \ - make VERBOSE=1 -j$(nproc) -l 8; \ - make DESTDIR="/build/timescaledb-root" install; \ - # We need to install a second time to run timescaledb tests - echo "Size before stripping..."; \ - du -hs /build/timescaledb-root - -# Strip binaries -RUN set -eux; \ - cd build/timescaledb-root; \ - scanelf --recursive --nobanner --osabi --etype "ET_DYN,ET_EXEC" . | awk '{print $3}' | xargs \ - strip \ - --remove-section=.comment \ - --remove-section=.note \ - -R .gnu.lto_* -R .gnu.debuglto_* \ - -N __gnu_lto_slim -N __gnu_lto_v1 \ - --strip-unneeded; \ - echo "Size after stripping..."; \ - du -hs /build/timescaledb-root - -# Testing -RUN set -eux; \ - # Install TimescaleDB so we can run the installcheck tests below - tar -c -C /build/timescaledb-root . | tar -x -C /; \ - # For testing we need to run the tests as a non-priv user - cd build; \ - adduser -D pgsqltest; \ - chown -R pgsqltest:pgsqltest "timescaledb"; \ - cd "timescaledb"; \ - cd build; \ - # Test - if ! sudo -u pgsqltest make VERBOSE=1 -j1 -l8 installcheck; then \ - cat test/regression.diffs; \ - false; \ - fi - - -FROM tsbuilder-base as tsbuilder-2.14.2 - -ENV TIMESCALEDB_VER=2.14.2 - -# Checkout the right version -RUN set -eux; \ - cd build; \ - cd timescaledb; \ - git checkout "$TIMESCALEDB_VER" - -# Build -RUN set -eux; \ - cd build; \ - cd "timescaledb"; \ -# Patching -# patch -p1 < ../patches/timescaledb-2.14.0-fix-test-output.patch; \ - mkdir build; \ - cd build; \ - \ - cmake ..; \ - make VERBOSE=1 -j$(nproc) -l 8; \ - make DESTDIR="/build/timescaledb-root" install; \ - # We need to install a second time to run timescaledb tests - echo "Size before stripping..."; \ - du -hs /build/timescaledb-root - -# Strip binaries -RUN set -eux; \ - cd build/timescaledb-root; \ - scanelf --recursive --nobanner --osabi --etype "ET_DYN,ET_EXEC" . | awk '{print $3}' | xargs \ - strip \ - --remove-section=.comment \ - --remove-section=.note \ - -R .gnu.lto_* -R .gnu.debuglto_* \ - -N __gnu_lto_slim -N __gnu_lto_v1 \ - --strip-unneeded; \ - echo "Size after stripping..."; \ - du -hs /build/timescaledb-root - -# Testing -RUN set -eux; \ - # Install TimescaleDB so we can run the installcheck tests below - tar -c -C /build/timescaledb-root . | tar -x -C /; \ - # For testing we need to run the tests as a non-priv user - cd build; \ - adduser -D pgsqltest; \ - chown -R pgsqltest:pgsqltest "timescaledb"; \ - cd "timescaledb"; \ - cd build; \ - # Test - if ! sudo -u pgsqltest make VERBOSE=1 -j1 -l8 installcheck; then \ - cat test/regression.diffs; \ - false; \ - fi - - - -FROM tsbuilder-base as tsbuilder-2.14.1 - -ENV TIMESCALEDB_VER=2.14.1 - -# Checkout the right version -RUN set -eux; \ - cd build; \ - cd timescaledb; \ - git checkout "$TIMESCALEDB_VER" - -# Build -RUN set -eux; \ - cd build; \ - cd "timescaledb"; \ -# Patching -# patch -p1 < ../patches/timescaledb-2.14.0-fix-test-output.patch; \ - mkdir build; \ - cd build; \ - \ - cmake ..; \ - make VERBOSE=1 -j$(nproc) -l 8; \ - make DESTDIR="/build/timescaledb-root" install; \ - # We need to install a second time to run timescaledb tests - echo "Size before stripping..."; \ - du -hs /build/timescaledb-root - -# Strip binaries -RUN set -eux; \ - cd build/timescaledb-root; \ - scanelf --recursive --nobanner --osabi --etype "ET_DYN,ET_EXEC" . | awk '{print $3}' | xargs \ - strip \ - --remove-section=.comment \ - --remove-section=.note \ - -R .gnu.lto_* -R .gnu.debuglto_* \ - -N __gnu_lto_slim -N __gnu_lto_v1 \ - --strip-unneeded; \ - echo "Size after stripping..."; \ - du -hs /build/timescaledb-root - -# Testing -RUN set -eux; \ - # Install TimescaleDB so we can run the installcheck tests below - tar -c -C /build/timescaledb-root . | tar -x -C /; \ - # For testing we need to run the tests as a non-priv user - cd build; \ - adduser -D pgsqltest; \ - chown -R pgsqltest:pgsqltest "timescaledb"; \ - cd "timescaledb"; \ - cd build; \ - # Test - if ! sudo -u pgsqltest make VERBOSE=1 -j1 -l8 installcheck; then \ - cat test/regression.diffs; \ - false; \ - fi - - -FROM tsbuilder-base as tsbuilder-2.14.0 - -ENV TIMESCALEDB_VER=2.14.0 - -# Checkout the right version -RUN set -eux; \ - cd build; \ - cd timescaledb; \ - git checkout "$TIMESCALEDB_VER" - -# Build -RUN set -eux; \ - cd build; \ - cd "timescaledb"; \ -# Patching - patch -p1 < ../patches/timescaledb-2.14.0-fix-test-output.patch; \ - mkdir build; \ - cd build; \ - \ - cmake ..; \ - make VERBOSE=1 -j$(nproc) -l 8; \ - make DESTDIR="/build/timescaledb-root" install; \ - # We need to install a second time to run timescaledb tests - echo "Size before stripping..."; \ - du -hs /build/timescaledb-root - -# Strip binaries -RUN set -eux; \ - cd build/timescaledb-root; \ - scanelf --recursive --nobanner --osabi --etype "ET_DYN,ET_EXEC" . | awk '{print $3}' | xargs \ - strip \ - --remove-section=.comment \ - --remove-section=.note \ - -R .gnu.lto_* -R .gnu.debuglto_* \ - -N __gnu_lto_slim -N __gnu_lto_v1 \ - --strip-unneeded; \ - echo "Size after stripping..."; \ - du -hs /build/timescaledb-root - -# Testing -RUN set -eux; \ - # Install TimescaleDB so we can run the installcheck tests below - tar -c -C /build/timescaledb-root . | tar -x -C /; \ - # For testing we need to run the tests as a non-priv user - cd build; \ - adduser -D pgsqltest; \ - chown -R pgsqltest:pgsqltest "timescaledb"; \ - cd "timescaledb"; \ - cd build; \ - # Test - if ! sudo -u pgsqltest make VERBOSE=1 -j1 -l8 installcheck; then \ - cat test/regression.diffs; \ - false; \ - fi - - FROM registry.conarx.tech/containers/postgresql/3.20 # NK: Versions are reverse ordered so newer ones overwrite data from older ones -COPY --from=tsbuilder-2.14.0 /build/timescaledb-root / -COPY --from=tsbuilder-2.14.1 /build/timescaledb-root / -COPY --from=tsbuilder-2.14.2 /build/timescaledb-root / -COPY --from=tsbuilder-2.15.0 /build/timescaledb-root / -COPY --from=tsbuilder-2.15.1 /build/timescaledb-root / -COPY --from=tsbuilder-2.15.2 /build/timescaledb-root / +COPY --from=tsbuilder-2.17.1 /build/timescaledb-root / +COPY --from=tsbuilder-2.17.2 /build/timescaledb-root / ARG VERSION_INFO=