Skip to content

renamed

renamed #43

Workflow file for this run

name: pgpm unit tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
container: pyramation/node-sqitch:20.12.0
continue-on-error: true
strategy:
fail-fast: false
matrix:
package:
- utils/verify
- utils/utils
- utils/inflection
- utils/faker
- utils/base32
- security/totp
- security/jwt-claims
- security/encrypted-secrets-table
- security/encrypted-secrets
- security/defaults
- security/default-roles
- metrics/measurements
- metrics/achievements
- meta/db-meta-schema
- meta/db-meta-modules
- jobs/jobs
- jobs/database-jobs
- data-types/uuid
- data-types/types
- data-types/stamps
- data-types/geotypes
env:
PGHOST: pg_db
PGPORT: 5432
PGUSER: postgres
PGPASSWORD: password
services:
pg_db:
image: pyramation/pgvector:13.3-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
minio_cdn:
image: minio/minio:edge-cicd
env:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
ports:
- 9000:9000
- 9001:9001
options: >-
--health-cmd "curl -f http://localhost:9000/minio/health/live || exit 1"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Configure Git (for tests)
run: |
git config --global user.name "CI Test User"
git config --global user.email "ci@example.com"
- name: Checkout
uses: actions/checkout@v4
- name: Enable corepack and pnpm
run: |
corepack enable
corepack prepare pnpm@9 --activate
pnpm -v
node -v
- name: Install
run: pnpm install
- name: Install pgpm CLI globally
run: npm install -g pgpm@0.2.15
- name: Build
run: pnpm -r build
- name: Seed pg and app_user
run: |
pgpm admin-users bootstrap --yes
# optional, but added to avoid concurrent attempts to add user
pgpm admin-users add --test --yes
- name: Test ${{ matrix.package }}
run: cd ./packages/${{ matrix.package }} && pnpm test