Skip to content

All generalizers can now differentiate between create and append mode, use this to not run ANALYZE in append mode #1693

All generalizers can now differentiate between create and append mode, use this to not run ANALYZE in append mode

All generalizers can now differentiate between create and append mode, use this to not run ANALYZE in append mode #1693

Workflow file for this run

name: CI
on: [ push, pull_request ]
jobs:
macos:
strategy:
fail-fast: false
matrix:
os:
- "macos-12"
- "macos-13"
- "macos-14" # latest
runs-on: ${{ matrix.os }}
env:
LUA_VERSION: 5.4
steps:
- uses: actions/checkout@v4
- name: Install prerequisites
run: |
brew install boost lua nlohmann-json opencv pandoc postgis potrace
# --break-system-packages is needed on macOS 14
pip3 install --break-system-packages psycopg2 behave osmium
mkdir ~/postgres
pg_ctl -D ~/postgres init
pg_ctl -D ~/postgres start
shell: bash
- name: Setup database
run: |
psql -d postgres -c 'CREATE EXTENSION postgis'
psql -d postgres -c 'CREATE EXTENSION hstore'
psql -d postgres -c 'SELECT PostGIS_Full_Version()'
mkdir -m 700 $GITHUB_WORKSPACE/tablespacetest
psql -d postgres -c "CREATE TABLESPACE tablespacetest LOCATION '$GITHUB_WORKSPACE/tablespacetest'"
shell: bash
- uses: ./.github/actions/build-and-test
with:
test-wrapper: ''
env:
PGHOST: /tmp
ubuntu20-pg96-gcc10-jit:
runs-on: ubuntu-20.04
env:
CC: gcc-10
CXX: g++-10
EXTRA_FLAGS: -Wno-unused-but-set-parameter # workaround for GCC bug
LUA_VERSION: 5.3
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 9.6
POSTGIS_VERSION: 2.5
BUILD_TYPE: Release
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg96-clang10-jit:
runs-on: ubuntu-20.04
env:
CC: clang-10
CXX: clang++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 9.6
POSTGIS_VERSION: 2.5
BUILD_TYPE: Release
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg10-gcc10:
runs-on: ubuntu-20.04
env:
CC: gcc-10
CXX: g++-10
EXTRA_FLAGS: -Wno-unused-but-set-parameter # workaround for GCC bug
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 10
POSTGIS_VERSION: 3
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg11-clang10:
runs-on: ubuntu-20.04
env:
CC: clang-10
CXX: clang++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 11
POSTGIS_VERSION: 2.5
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg13-gcc10-jit:
runs-on: ubuntu-20.04
env:
CC: gcc-10
CXX: g++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 13
POSTGIS_VERSION: 2.5
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg15-clang10-jit:
runs-on: ubuntu-20.04
env:
CC: clang-10
CXX: clang++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 15
POSTGIS_VERSION: 3
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg15-clang10-noproj:
runs-on: ubuntu-20.04
env:
CC: clang-10
CXX: clang++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 15
POSTGIS_VERSION: 3
WITH_PROJ: OFF
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg16-clang10:
runs-on: ubuntu-20.04
env:
CC: clang-10
CXX: clang++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg13-gcc10-release:
runs-on: ubuntu-20.04
env:
CC: gcc-10
CXX: g++-10
LUA_VERSION: 5.3
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 13
POSTGIS_VERSION: 2.5
BUILD_TYPE: Release
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu20-pg13-gcc10-release-nolua:
runs-on: ubuntu-20.04
env:
CC: gcc-10
CXX: g++-10
POSTGRESQL_VERSION: 13
POSTGIS_VERSION: 2.5
BUILD_TYPE: Release
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-clang14-jit:
runs-on: ubuntu-22.04
env:
CC: clang-14
CXX: clang++-14
LUA_VERSION: 5.4
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-clang14-proj:
runs-on: ubuntu-22.04
env:
CC: clang-14
CXX: clang++-14
LUA_VERSION: 5.4
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-clang14-noproj:
runs-on: ubuntu-22.04
env:
CC: clang-14
CXX: clang++-14
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
WITH_PROJ: OFF
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg15-clang14:
runs-on: ubuntu-22.04
env:
CC: clang-14
CXX: clang++-14
LUA_VERSION: 5.4
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 15
POSTGIS_VERSION: 3
BUILD_TYPE: Debug
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-gcc12-release:
runs-on: ubuntu-22.04
env:
CC: gcc-12
CXX: g++-12
EXTRA_FLAGS: -Wno-stringop-overread
LUA_VERSION: 5.4
LUAJIT_OPTION: ON
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
BUILD_TYPE: Release
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-gcc12-release-nolua:
runs-on: ubuntu-22.04
env:
CC: gcc-12
CXX: g++-12
EXTRA_FLAGS: -Wno-stringop-overread
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
BUILD_TYPE: Release
PSYCOPG: 2
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-clang15-cpp20:
runs-on: ubuntu-22.04
env:
CC: clang-15
CXX: clang++-15
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
CPP_VERSION: 20
BUILD_TYPE: Debug
PSYCOPG: 3
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
ubuntu22-pg16-gcc12-cpp20:
runs-on: ubuntu-22.04
env:
CC: gcc-12
CXX: g++-12
LUA_VERSION: 5.3
LUAJIT_OPTION: OFF
POSTGRESQL_VERSION: 16
POSTGIS_VERSION: 3
CPP_VERSION: 20
BUILD_TYPE: Debug
PSYCOPG: 3
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ubuntu-prerequisites
- uses: ./.github/actions/build-and-test
windows:
strategy:
fail-fast: false
matrix:
os: [windows-2019, windows-2022]
runs-on: ${{ matrix.os }}
env:
VCPKG_DEFAULT_BINARY_CACHE: C:/vcpkg_binary_cache
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
C:/vcpkg_binary_cache
key: vcpkg-binary-cache-${{ matrix.os }}-${{ github.run_id }}
restore-keys: |
vcpkg-binary-cache-${{ matrix.os }}
- uses: actions/cache@v4
with:
path: |
C:/postgis.zip
key: postgis-cache
- name: Prepare cache
run: if [ ! -d C:/vcpkg_binary_cache ]; then mkdir C:/vcpkg_binary_cache; fi
shell: bash
- uses: ./.github/actions/win-postgres
- uses: ./.github/actions/win-install
- uses: ./.github/actions/win-cmake
- uses: ./.github/actions/win-build
- uses: ./.github/actions/win-test
- name: Package osm2pgsql
run: |
mkdir c:/artifact/
mkdir c:/artifact/osm2pgsql-bin
cp -r Release/* ../README.md ../COPYING ../*.style ../scripts ../flex-config c:/vcpkg/installed/x64-windows/share/proj/proj.db c:/artifact/osm2pgsql-bin/
shell: bash
working-directory: build
if: matrix.os == 'windows-2022'
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: osm2pgsql-win64
path: c:/artifact
if: matrix.os == 'windows-2022'
windows-package:
needs: windows
runs-on: windows-2022
env:
OSMURL: https://download.geofabrik.de/europe/monaco-latest.osm.bz2
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
C:/postgis.zip
key: postgis-cache
- uses: actions/download-artifact@v4
with:
name: osm2pgsql-win64
- uses: ./.github/actions/win-postgres
- name: Set up database
run: |
& $env:PGBIN\createdb osm
& $env:PGBIN\psql -d osm -c "CREATE EXTENSION hstore; CREATE EXTENSION postgis;"
shell: pwsh
- name: Get test data
run: (new-object net.webclient).DownloadFile($env:OSMURL, "testfile.osm.bz2")
- name: Execute osm2pgsql
run: ./osm2pgsql-bin/osm2pgsql --slim -d osm testfile.osm.bz2
shell: bash