Skip to content

OUT-4067: migrate to assembly-js node sdk #271

OUT-4067: migrate to assembly-js node sdk

OUT-4067: migrate to assembly-js node sdk #271

Workflow file for this run

name: Code Quality Checks
# Run on PRs to main and on pushes to main (post-merge sanity). Feature-branch
# pushes without a PR don't trigger CI, so nothing double-fires.
on:
pull_request:
branches: [main]
push:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
jobs:
run-linter:
name: Run linter
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.15
run_install: false
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: pnpm
cache-dependency-path: |
pnpm-lock.yaml
**/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run linter
run: pnpm lint
type-check:
name: TypeScript type-check
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.15
run_install: false
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: pnpm
cache-dependency-path: |
pnpm-lock.yaml
**/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Cache TypeScript build info
uses: actions/cache@v4
with:
path: |
.tsbuildinfo
**/*.tsbuildinfo
key: ${{ runner.os }}-tsc-${{ hashFiles('**/tsconfig*.json') }}-${{ hashFiles('**/pnpm-lock.yaml') }}
- name: Type check
run: pnpm typecheck
integration-tests:
name: Integration tests
# Only on PRs, and only after the cheap static checks pass — so a lint/type
# error fails fast without spinning up Docker + Testcontainers.
if: github.event_name == 'pull_request'
needs: [run-linter, type-check]
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.15
run_install: false
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: pnpm
cache-dependency-path: |
pnpm-lock.yaml
**/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
# Testcontainers starts an ephemeral Postgres via Docker, preinstalled on
# ubuntu-latest. globalSetup loads .env.test (committed, non-secret stubs)
# and sets DATABASE_URL from the container, so no secrets are needed here.
- name: Run integration tests
run: pnpm test