mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
I didn't do much to "modernize" the pg-native codebase other than running it through the standard eslint --fix that is applied to the rest of the code. There's some easy opportunities there to update it to es6 and so on...it still uses some pretty antiquated coding styles in places. This PR re-introduces the native tests on node v20, and updates test matrix to drop unsupported versions of node & add in node v22.
76 lines
1.8 KiB
YAML
76 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
lint:
|
|
timeout-minutes: 5
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
- name: Setup node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 18
|
|
cache: yarn
|
|
- run: yarn install --frozen-lockfile
|
|
- run: yarn lint
|
|
build:
|
|
timeout-minutes: 10
|
|
needs: lint
|
|
services:
|
|
postgres:
|
|
image: postgres:11
|
|
env:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_HOST_AUTH_METHOD: 'md5'
|
|
POSTGRES_DB: ci_db_test
|
|
ports:
|
|
- 5432:5432
|
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node:
|
|
- '16'
|
|
- '18'
|
|
- '20'
|
|
- '22'
|
|
os:
|
|
- ubuntu-latest
|
|
name: Node.js ${{ matrix.node }} (${{ matrix.os }})
|
|
runs-on: ${{ matrix.os }}
|
|
env:
|
|
PGUSER: postgres
|
|
PGPASSWORD: postgres
|
|
PGHOST: localhost
|
|
PGDATABASE: ci_db_test
|
|
PGTESTNOSSL: 'true'
|
|
SCRAM_TEST_PGUSER: scram_test
|
|
SCRAM_TEST_PGPASSWORD: test4scram
|
|
steps:
|
|
- name: Show OS
|
|
run: |
|
|
uname -a
|
|
- run: |
|
|
psql \
|
|
-c "SET password_encryption = 'scram-sha-256'" \
|
|
-c "CREATE ROLE scram_test LOGIN PASSWORD 'test4scram'"
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
- name: Setup node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
cache: yarn
|
|
- run: yarn install --frozen-lockfile
|
|
# TODO(bmc): get ssl tests working in ci
|
|
- run: yarn test
|