Skip to content

Graphql server refactor v0_1 #3016

Graphql server refactor v0_1

Graphql server refactor v0_1 #3016

Workflow file for this run

name: CI tests
on:
push:
branches:
- main
- v1
- develop-v5
pull_request:
branches:
- main
- v1
- develop-v5
workflow_dispatch:
workflow_call:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-tests
cancel-in-progress: true
jobs:
constructive-tests:
runs-on: ubuntu-latest
# Tests being re-enabled as v5 migration progresses - remaining tests will be enabled when ready
strategy:
fail-fast: false
matrix:
include:
# - package: uploads/mime-bytes
# env: {}
- package: pgpm/core
env: {}
# - package: pgpm/env
# env: {}
- package: pgpm/cli
env: {}
# - package: packages/cli
# env: {}
# - package: jobs/knative-job-service
# env: {}
# - package: packages/client
# env:
# TEST_DATABASE_URL: postgres://postgres:password@localhost:5432/postgres
- package: postgres/pgsql-client
env: {}
- package: postgres/pgsql-test
env: {}
# - package: packages/orm
# env: {}
# - package: packages/url-domains
# env: {}
# - package: uploads/uuid-hash
# env: {}
# - package: uploads/uuid-stream
# env: {}
# - package: postgres/introspectron
# env: {}
# - package: packages/query-builder
# env: {}
- package: graphql/query
env: {}
- package: graphql/codegen
env: {}
# - package: postgres/pg-ast
# env: {}
# - package: postgres/pg-codegen
# env: {}
# - package: uploads/content-type-stream
# env: {}
# - package: uploads/s3-streamer
# env:
# BUCKET_NAME: test-bucket
# - package: uploads/upload-names
# env: {}
# - package: graphile/graphile-test
# env: {}
# - package: graphile/graphile-search-plugin
# env: {}
# - package: graphile/graphile-plugin-fulltext-filter
# env: {}
# - package: graphile/graphile-simple-inflector
# env: {}
# - package: graphile/graphile-many-to-many
# env: {}
# - package: graphile/graphile-i18n
# env: {}
# - package: graphile/graphile-meta-schema
# env: {}
# - package: graphile/graphile-upload-plugin
# env:
# BUCKET_NAME: test-upload-bucket
# - package: graphile/graphile-postgis
# env: {}
# - package: graphile/graphile-plugin-connection-filter
# env: {}
# - package: graphile/graphile-plugin-connection-filter-postgis
# env: {}
# - package: graphile/graphile-pg-type-mappings
# env: {}
# - package: graphile/graphile-sql-expression-validator
# env: {}
- package: graphql/server-test
env: {}
- package: graphql/env
env: {}
- package: graphql/server
env: {}
# - package: graphql/test
# env: {}
# - package: graphql/playwright-test
# env: {}
# - package: jobs/knative-job-worker
# env: {}
# - package: packages/csv-to-pg
# env: {}
# - package: packages/smtppostmaster
# env: {}
# - package: postgres/drizzle-orm-test
# env: {}
# - package: uploads/etag-hash
# env: {}
# - package: uploads/etag-stream
# env: {}
# - package: uploads/stream-to-etag
# env: {}
# - package: packages/oauth
# env: {}
# - package: packages/csrf
# env: {}
# - package: packages/12factor-env
# env: {}
# - package: packages/postmaster
# env: {}
# Placeholder to keep matrix valid (will be skipped)
- package: .
env: {}
env:
PGHOST: localhost
PGPORT: 5432
PGUSER: postgres
PGPASSWORD: password
MINIO_ENDPOINT: http://localhost:9000
AWS_ACCESS_KEY: minioadmin
AWS_SECRET_KEY: minioadmin
AWS_REGION: us-east-1
services:
pg_db:
image: pyramation/postgres:17
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: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10
- name: build
run: pnpm install
- name: build
run: pnpm run build
- name: seed app_user
run: |
pnpm --filter pgpm exec node dist/index.js admin-users bootstrap --yes
pnpm --filter pgpm exec node dist/index.js admin-users add --test --yes
- name: Test ${{ matrix.package }}
if: matrix.package != '.'
run: cd ./${{ matrix.package }} && pnpm test
env: ${{ matrix.env }}
- name: Skip tests (v5 migration in progress)
if: matrix.package == '.'
run: echo "All tests disabled during v5 migration - will be re-enabled when ready to merge into main"