name: CI on: [push, pull_request] permissions: contents: read jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: persist-credentials: false - name: Setup node uses: actions/setup-node@v3 with: node-version: 18 cache: yarn - run: yarn install - run: yarn lint build: needs: lint runs-on: ubuntu-latest services: postgres: image: postgres:11 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: ci_db_test POSTGRES_HOST_AUTH_METHOD: 'md5' ports: - 5432:5432 options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 strategy: matrix: node: ['14', '16', '18', '20'] os: [ubuntu-latest, windows-latest, macos-latest] name: Node.js ${{ matrix.node }} (${{ matrix.os }}) env: PGUSER: postgres PGHOST: localhost PGPASSWORD: postgres PGDATABASE: ci_db_test PGTESTNOSSL: 'true' SCRAM_TEST_PGUSER: scram_test SCRAM_TEST_PGPASSWORD: test4scram steps: - run: | psql \ -c "SET password_encryption = 'scram-sha-256'" \ -c "CREATE ROLE scram_test LOGIN PASSWORD 'test4scram'" - uses: actions/checkout@v3 with: persist-credentials: false - name: Setup node uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} cache: yarn - run: yarn install # TODO(bmc): get ssl tests working in ci - run: yarn test