diff --git a/.github/workflows/linux_build.yml b/.github/workflows/linux_build.yml index e3fbb9cd474f..a22a9bbaf6c4 100644 --- a/.github/workflows/linux_build.yml +++ b/.github/workflows/linux_build.yml @@ -110,14 +110,6 @@ jobs: container: icc build_script: build.sh - - name: Ubuntu 18.04, gcc - id: ubuntu_18.04 - container: ubuntu_18.04 - build_script: build.sh - before_test_script: services.sh - test_script: test.sh - travis_branch: ubuntu_1804 - - name: Ubuntu 18.04, gcc 32-bit id: ubuntu_18.04_32bit container: ubuntu_18.04_32bit diff --git a/.github/workflows/ubuntu_18.04/Dockerfile.ci b/.github/workflows/ubuntu_18.04/Dockerfile.ci deleted file mode 100644 index fc0727492edd..000000000000 --- a/.github/workflows/ubuntu_18.04/Dockerfile.ci +++ /dev/null @@ -1,57 +0,0 @@ -FROM ubuntu:18.04 - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get update && \ - apt-get install -y --allow-unauthenticated locales python3-dev python3-pip python3-numpy libpng-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libxslt-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libpoppler-private-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev poppler-utils unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev libcrypto++-dev libfyba-dev libkml-dev libmysqlclient-dev mysql-client-core-5.7 libogdi3.2-dev libcfitsio-dev openjdk-8-jdk libzstd1-dev libblosc-dev liblz4-dev ccache bash zip curl libpq-dev postgresql-client postgis cmake libssl-dev libboost-dev autoconf automake sqlite3 libopenexr-dev g++ fossil libgeotiff-dev libopenjp2-7-dev libcairo2-dev doxygen libfcgi-dev git - -ENV LANG=en_US.UTF-8 -RUN echo "$LANG UTF-8" >/etc/locale.gen \ - && dpkg-reconfigure --frontend=noninteractive locales \ - && update-locale LANG=$LANG - -# MSSQL: client side -RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - -RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | tee /etc/apt/sources.list.d/msprod.list -RUN apt-get update \ - && ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev - -RUN curl -L -O https://github.com/Esri/file-geodatabase-api/raw/master/FileGDB_API_1.5/FileGDB_API_1_5_64gcc51.tar.gz \ - && tar xzf FileGDB_API_1_5_64gcc51.tar.gz \ - && cp -r FileGDB_API-64gcc51/* /usr/ \ - && rm FileGDB_API_1_5_64gcc51.tar.gz \ - && rm -rf FileGDB_API-64gcc51 \ - && ldconfig - -RUN curl -L -O https://github.com/mongodb/mongo-c-driver/releases/download/1.13.0/mongo-c-driver-1.13.0.tar.gz - -RUN tar xzf mongo-c-driver-1.13.0.tar.gz && (cd mongo-c-driver-1.13.0 && mkdir build_cmake && cd build_cmake && CC='ccache gcc' CXX='ccache g++' cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_TESTS=NO -DCMAKE_BUILD_TYPE=Debug && make -j3 && make -j3 install) - -RUN curl -L -O https://github.com/mongodb/mongo-cxx-driver/archive/r3.4.0.tar.gz -RUN tar xzf r3.4.0.tar.gz && (cd mongo-cxx-driver-r3.4.0 && mkdir build_cmake && cd build_cmake && CC='ccache gcc' CXX='ccache g++' cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBSONCXX_POLY_USE_BOOST=ON -DMONGOCXX_ENABLE_SLOW_TESTS=NO -DCMAKE_BUILD_TYPE=Debug && make -j3 && make -j3 install) - -# Build freexl -RUN curl -O http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-2.0.0-RC0.tar.gz -RUN tar xzf freexl-2.0.0-RC0.tar.gz -RUN cd freexl-2.0.0-RC0 && CC='ccache gcc' CXX='ccache g++' ./configure --disable-static --prefix=/usr && make -j3 && make -j3 install - -# Build libspatialite -RUN fossil --user $(whoami) clone https://www.gaia-gis.it/fossil/libspatialite libspatialite.fossil && mkdir sl && (cd sl && fossil open ../libspatialite.fossil && CC='ccache gcc' CXX='ccache g++' ./configure --disable-static --prefix=/usr --disable-geos370 --disable-rttopo --disable-geos3100 --disable-geos3110 && make -j3 && make -j3 install) - -# Build librasterlite2 -RUN fossil --user $(whoami) clone https://www.gaia-gis.it/fossil/librasterlite2 librasterlite2.fossil && mkdir rl2 && (cd rl2 && fossil open ../librasterlite2.fossil && fossil checkout 9dd8217cb9 && CC='ccache gcc' CXX='ccache g++' ./configure --disable-static --prefix=/usr --disable-lz4 --disable-zstd && make -j3 && make -j3 install) - -# Build proj -RUN curl -O https://download.osgeo.org/proj/proj-6.0.0.tar.gz \ - && tar xzvf proj-6.0.0.tar.gz \ - && cd proj-6.0.0 \ - && CC='ccache gcc' CXX='ccache g++' CFLAGS='-DPROJ_RENAME_SYMBOLS' CXXFLAGS='-DPROJ_RENAME_SYMBOLS' ./configure \ - --disable-static \ - --prefix=/usr/local || cat config.log \ - && make -j3 install -RUN apt-get remove -y libproj-dev && ldconfig - -ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH - -COPY requirements.txt /tmp/ -RUN python3 -m pip install -U -r /tmp/requirements.txt diff --git a/.github/workflows/ubuntu_18.04/build.sh b/.github/workflows/ubuntu_18.04/build.sh deleted file mode 100755 index c23411587b7d..000000000000 --- a/.github/workflows/ubuntu_18.04/build.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -set -e - -cmake ${GDAL_SOURCE_DIR:=..} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS="-Werror -DPROJ_RENAME_SYMBOLS" \ - -DCMAKE_CXX_FLAGS="-Werror -DPROJ_RENAME_SYMBOLS" \ - -DCMAKE_SHARED_LINKER_FLAGS="-lstdc++" \ - -DUSE_CCACHE=ON \ - -DPROJ_ROOT=/usr/local \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DGDAL_USE_GEOTIFF_INTERNAL:BOOL=ON \ - -DGDAL_USE_TIFF_INTERNAL:BOOL=ON -make -j3 - -# make install -# ldconfig -# ln -s libgdal.so /usr/lib/libgdal.so.20 - -## Post-install testing -#./autotest/postinstall/test_pkg-config.sh /usr diff --git a/.github/workflows/ubuntu_18.04/services.sh b/.github/workflows/ubuntu_18.04/services.sh deleted file mode 100755 index d4d9c002aa2c..000000000000 --- a/.github/workflows/ubuntu_18.04/services.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh - -set -ex - -################## -# Start services # -################## - -# MSSQL: server side -docker rm -f gdal-sql1 -docker pull mcr.microsoft.com/mssql/server:2017-latest -docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=DummyPassw0rd' -p 1433:1433 --name gdal-sql1 -d mcr.microsoft.com/mssql/server:2017-latest - -# MySQL 8 -docker rm -f gdal-mysql1 -docker run --name gdal-mysql1 -e MYSQL_ROOT_PASSWORD=passwd -e "MYSQL_ROOT_HOST=%" -p 33060:3306 -d mysql/mysql-server:8.0.18 mysqld --default-authentication-plugin=mysql_native_password - -# MariaDB 10.3.9 -docker rm -f gdal-mariadb -docker run --name gdal-mariadb -e MYSQL_ROOT_PASSWORD=passwd -e "MYSQL_ROOT_HOST=%" -p 33061:3306 -d mariadb:10.3.9 - -# PostGIS -docker rm -f gdal-postgis -docker run -v /home:/home --name "gdal-postgis" -p 25432:5432 -e ALLOW_IP_RANGE=0.0.0.0/0 -d -t kartoza/postgis:13.0 - -# Azurite (Azure simulator) -docker rm -f gdal-azurite -docker run -d -p 10000:10000 --name gdal-azurite mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 - -# Mongo -docker rm -f gdal-mongo -docker run --name gdal-mongo -p 27018:27017 -d mongo:4.4 - -###################### -# Configure services # -###################### - -sleep 10 - -# MSSQL -docker exec -t gdal-sql1 /opt/mssql-tools/bin/sqlcmd -l 30 -S localhost -U SA -P DummyPassw0rd -Q "CREATE DATABASE TestDB" - -# MySQL -docker exec gdal-mysql1 sh -c "echo 'CREATE DATABASE test; SELECT Version()' | mysql -uroot -ppasswd" - -# MariaDB -docker exec gdal-mariadb sh -c "echo 'CREATE DATABASE test; SELECT Version()' | mysql -uroot -ppasswd" - -# PostGIS -docker exec -e PGPASSWORD=docker gdal-postgis psql -h localhost -U docker -d gis -c "CREATE DATABASE autotest" -docker exec -e PGPASSWORD=docker gdal-postgis psql -h localhost -U docker -d autotest -c "CREATE EXTENSION postgis; CREATE EXTENSION postgis_raster; SELECT postgis_full_version()" - diff --git a/.github/workflows/ubuntu_18.04/test.sh b/.github/workflows/ubuntu_18.04/test.sh deleted file mode 100755 index 0a476d9f3d9d..000000000000 --- a/.github/workflows/ubuntu_18.04/test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -set -e - -. ../scripts/setdevenv.sh - -export PYTEST="python3 -m pytest -vv -p no:sugar --color=no" - -# Run C++ tests -make quicktest - -# Run ogr_fgdb test in isolation due to likely conflict with libxml2 -(cd autotest/ogr && $PYTEST ogr_fgdb.py) - -IP=host.docker.internal - -# Test /vsiaz/ against the Azurite simulator -export AZURITE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://${IP}:10000/devstoreaccount1;" -AZURE_STORAGE_CONNECTION_STRING=${AZURITE_STORAGE_CONNECTION_STRING} python3 -c "from osgeo import gdal; import sys; sys.exit(gdal.Mkdir('/vsiaz/mycontainer', 0o755))" -(cd autotest/gcore && AZURE_STORAGE_CONNECTION_STRING=${AZURITE_STORAGE_CONNECTION_STRING} AZ_RESOURCE=mycontainer $PYTEST vsiaz_real_instance_manual.py) - -# MySQL 8 -(cd autotest/ogr && OGR_MYSQL_CONNECTION_STRING=mysql:test,user=root,password=passwd,port=33060,host=$IP $PYTEST ogr_mysql.py) -# MariaDB 10.3.9 -(cd autotest/ogr && OGR_MYSQL_CONNECTION_STRING=mysql:test,user=root,password=passwd,port=33061,host=$IP $PYTEST ogr_mysql.py) - -# PostGIS tests -(cd autotest/ogr && OGR_PG_CONNECTION_STRING="host=$IP port=25432 dbname=autotest user=docker password=docker" $PYTEST --capture=no -ra ogr_pg.py) -(cd autotest/gdrivers && PGHOST="$IP" PGPORT=25432 PGUSER=docker PGPASSWORD=docker $PYTEST --capture=no -ra postgisraster.py) - -# MongoDB v3 -(cd autotest/ogr && MONGODBV3_TEST_PORT=27018 MONGODBV3_TEST_HOST=$IP $PYTEST ogr_mongodbv3.py) - -(cd autotest/ogr && OGR_MSSQL_CONNECTION_STRING="MSSQL:server=$IP;database=TestDB;driver=ODBC Driver 17 for SQL Server;UID=SA;PWD=DummyPassw0rd" $PYTEST ogr_mssqlspatial.py) - -# ogr_ogdi.py Fails with ERROR 1: OGDI DataSource Open Failed: Could not find the dynamic library "vrf" -# ogr_fgdb.py was already run above -(cd autotest && $PYTEST \ - --ignore=ogr_ogdi.py \ - --ignore=ogr_fgdb.py \ -)