From bd04c49bc1b8510e2a037acde5c6023c40728673 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Wed, 28 Oct 2020 11:10:14 +0100 Subject: [PATCH] actions: tweak database settings Disabling fsync and friends should speed up the CI run significantly. --- .github/actions/build-nominatim/action.yml | 2 +- .github/actions/setup-postgresql/action.yml | 23 +++++++++++++++++++++ .github/workflows/ci-tests.yml | 20 +++++------------- 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 .github/actions/setup-postgresql/action.yml diff --git a/.github/actions/build-nominatim/action.yml b/.github/actions/build-nominatim/action.yml index 44c19a22..c11b0f77 100644 --- a/.github/actions/build-nominatim/action.yml +++ b/.github/actions/build-nominatim/action.yml @@ -5,7 +5,7 @@ runs: steps: - name: Install prerequisits - run: sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev postgresql-13-postgis-3 postgresql-13-postgis-3-scripts postgresql-server-dev-13 python3-psycopg2 python3-pyosmium + run: sudo apt-get install -y -qq libboost-system-dev libboost-filesystem-dev libexpat1-dev zlib1g-dev libbz2-dev libpq-dev libproj-dev python3-psycopg2 python3-pyosmium shell: bash - name: Configure diff --git a/.github/actions/setup-postgresql/action.yml b/.github/actions/setup-postgresql/action.yml new file mode 100644 index 00000000..15785045 --- /dev/null +++ b/.github/actions/setup-postgresql/action.yml @@ -0,0 +1,23 @@ +name: 'Setup Postgresql and Postgis' + +runs: + using: "composite" + + steps: + - name: Install postgis + run: sudo apt-get install -y -qq postgresql-13-postgis-3 postgresql-13-postgis-3-scripts postgresql-server-dev-13 + shell: bash + + - name: Adapt postgresql configuration + run: | + echo 'fsync = off' | sudo tee /etc/postgresql/13/main/conf.d/local.conf + echo 'synchronous_commit = off' | sudo tee -a /etc/postgresql/13/main/conf.d/local.conf + echo 'full_page_writes = off' | sudo tee -a /etc/postgresql/13/main/conf.d/local.conf + shell: bash + + - name: Setup database + run: | + sudo systemctl start postgresql + sudo -u postgres createuser -S www-data + sudo -u postgres createuser -s runner + shell: bash diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index c0db57b2..4824749c 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -11,6 +11,8 @@ jobs: with: submodules: true + - uses: ./.github/actions/setup-postgresql + - uses: ./.github/actions/build-nominatim - name: Install test prerequsites @@ -21,13 +23,6 @@ jobs: - name: PHP linting run: phpcs --report-width=120 . - - name: Setup database - run: | - sudo systemctl start postgresql - sudo -u postgres createuser -S www-data - sudo -u postgres createuser -s runner - shell: bash - - name: PHP unit tests run: phpunit ./ working-directory: test/php @@ -44,19 +39,14 @@ jobs: with: submodules: true + - uses: ./.github/actions/setup-postgresql + - uses: ./.github/actions/build-nominatim - name: Download test extract run: wget --no-verbose https://download.geofabrik.de/europe/monaco-latest.osm.pbf - - name: Setup database - run: | - sudo systemctl start postgresql - sudo -u postgres createuser -S www-data - sudo -u postgres createuser -s runner - shell: bash - - - name: Create configuartion + - name: Create configuration run: | echo ' settings/local.php echo " @define('CONST_Pyosmium_Binary', '/usr/lib/python3-pyosmium/pyosmium-get-changes');" >> settings/local.php -- 2.39.5