psql ODBC Linux CI - #3
Workflow file for this run
This file contains hidden or 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: Linux Build | |
| run-name: psql ODBC Linux CI - ${{ github.event.head_commit.message }} | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-and-test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| name: Debian (Ubuntu) | |
| - os: ubuntu-latest | |
| name: Red Hat (Fedora) | |
| container: fedora:latest | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| container: ${{ matrix.container || '' }} | |
| steps: | |
| - name: Install dependencies (Debian) | |
| if: matrix.container == '' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential autoconf automake libtool \ | |
| libpq-dev unixodbc-dev unixodbc postgresql \ | |
| postgresql-client | |
| - name: Install dependencies (Fedora) | |
| if: matrix.container == 'fedora:latest' | |
| run: | | |
| dnf install -y \ | |
| gcc make autoconf automake libtool \ | |
| libpq-devel unixODBC-devel postgresql-server postgresql \ | |
| diffutils git | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Bootstrap | |
| run: autoreconf -fi | |
| - name: Configure | |
| run: ./configure | |
| - name: Build | |
| run: make -j$(nproc) | |
| - name: Start PostgreSQL (Debian) | |
| if: matrix.container == '' | |
| run: | | |
| sudo pg_ctlcluster $(pg_lsclusters -h | head -1 | awk '{print $1, $2}') start | |
| sudo -u postgres createuser -s runner | |
| sudo -u postgres createdb contrib_regression | |
| - name: Start PostgreSQL (Fedora) | |
| if: matrix.container == 'fedora:latest' | |
| run: | | |
| postgresql-setup --initdb | |
| su postgres -c 'pg_ctl -D /var/lib/pgsql/data -l /tmp/pg.log start' | |
| su postgres -c 'createuser -s root' | |
| createdb contrib_regression | |
| - name: Test | |
| run: | | |
| cd test | |
| make installcheck |