plr CI - #153
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: plr CI | |
run-name: plr CI - ${{ github.event.head_commit.message }} | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
master: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Echo site details | |
run: echo building master | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: checkout postgres | |
run: | | |
sudo apt-get update -qq | |
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 | |
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" | |
sudo apt-get install -qq r-base-dev acl bison flex libssl-dev | |
sudo R --version | |
sudo /etc/init.d/postgresql stop | |
sudo apt-get remove --purge postgresql\* | |
sudo rm -rf /etc/postgresql /var/lib/postgresql | |
git clone --depth=1 https://github.com/postgres/postgres.git | |
pushd postgres | |
./configure | |
make -j4 | |
sudo make install | |
export PATH=/usr/local/pgsql/bin:$PATH | |
initdb -D data | |
pg_ctl -D data -l logfile start | |
popd | |
- name: Script | |
run: | | |
export USE_PGXS=1 | |
export PATH=/usr/local/pgsql/bin:$PATH | |
SHLIB_LINK=-lgcov PG_CPPFLAGS="-fprofile-arcs -ftest-coverage -O0" make | |
# USE_PGXS=1 is not required in Travis, and it is required in Github Actions | |
sudo USE_PGXS=1 PATH=/usr/local/pgsql/bin:$PATH make install | |
psql --version | |
R --version | |
make installcheck || (cat regression.diffs && false) | |
env: | |
USE_PGXS: 1 | |
build: | |
runs-on: ubuntu-latest | |
env: | |
PG: ${{ matrix.pg }} | |
strategy: | |
matrix: | |
include: | |
# SEEN SEP 2023 | |
# Ubuntu 22.04 ubuntu-latest | |
# https://github.com/actions/runner-images | |
# jammy (22.04, LTS) | |
# https://wiki.postgresql.org/wiki/Apt | |
# https://apt.postgresql.org/pub/repos/apt/dists/ | |
# 16/ - 14-Sep-2023 12:35 | |
# https://apt.postgresql.org/pub/repos/apt/dists/jammy-pgdg/ | |
- pg: 16 | |
- pg: 15 | |
- pg: 14 | |
- pg: 13 | |
- pg: 12 | |
- pg: 11 | |
- pg: 10 | |
steps: | |
- name: Echo site details | |
run: echo PG $PG | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Before Script | |
run: | | |
echo Building plr with PostgreSQL $PG | |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' | |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - | |
sudo apt-get update -qq | |
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 | |
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" | |
sudo apt-get install -qq r-base-dev acl | |
sudo /etc/init.d/postgresql stop | |
sudo apt-get remove --purge postgresql\* | |
sudo rm -rf /etc/postgresql /var/lib/postgresql | |
sudo apt-get install postgresql-$PG | |
sudo apt-get install postgresql-server-dev-$PG | |
echo 'local all postgres trust' | sudo tee /etc/postgresql/$PG/main/pg_hba.conf > /dev/null | |
# Builds under "runner" | |
# Github Actions require elevated priviledges | |
sudo setfacl -Rm u:postgres:rwx,d:u:runner:rwx /home/runner | |
sudo pg_ctlcluster $PG main reload | |
- name: Script | |
run: | | |
sudo pg_lsclusters | |
export USE_PGXS=1 | |
SHLIB_LINK=-lgcov PG_CPPFLAGS="-fprofile-arcs -ftest-coverage -O0" make | |
# USE_PGXS=1 is not required in Travis, and it is required in Github Actions | |
sudo USE_PGXS=1 make install | |
/usr/lib/postgresql/$PG/bin/pg_config | |
psql --version | |
R --version | |
make installcheck PGUSER=postgres || (cat regression.diffs && false) | |
- name: After Success | |
# success() returns true, when none of the previous steps have failed or been canceled. | |
if: ${{ success() }} | |
# Uploads code coverage to codecov.io | |
run: bash <(curl -s https://codecov.io/bash) |