Skip to content

chore(deps): lock file maintenance #7831

chore(deps): lock file maintenance

chore(deps): lock file maintenance #7831

Workflow file for this run

name: run tests
on:
push:
branches:
- main
paths-ignore:
- 'docs/**'
- '**.md'
- 'signatures/**'
pull_request:
paths-ignore:
- 'docs/**'
- '**.md'
- 'signatures/**'
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
jobs:
setup-node_modules:
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- uses: "nick-fields/retry@v3.0.0"
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm fetch --ignore-scripts
ci-deploy-client:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite without code coverage
run: cd packages/deploy-client && pnpm run nocov
- name: License Check
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cd packages/deploy-client && pnpm run license
ci-create-platformatic:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: platformatic cli global link
run: cd packages/cli && pnpm link --global && cd ../..
- name: Setup local git user and email
run: |
git config --global user.name 'Platformatic Github Actions'
git config --global user.email 'info@platformatic.dev'
- name: Run test suite
run: cd packages/create-platformatic && pnpm test
ci-create-platformatic-auto:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: platformatic cli global link
run: cd packages/cli && pnpm link --global && cd ../..
- name: Setup local git user and email
run: |
git config --global user.name 'Platformatic Github Actions'
git config --global user.email 'info@platformatic.dev'
- name: Run test suite
run: cd packages/create-platformatic-auto && pnpm test
ci-cli:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 1
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite
run: cd packages/cli && pnpm test
- name: License Check
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cd packages/cli && pnpm run license
ci-config:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite config manager
run: cd packages/config && pnpm test
ci-composer:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite with code coverage
run: cd packages/composer && pnpm run test
ci-db:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 30
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: ikalnytskyi/action-setup-postgres@v6
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: pnpm install -g typescript
run: pnpm install -g typescript
- name: Run test suite core
run: cd packages/db-core && pnpm test
- name: Run test suite Platformatic DB
run: cd packages/db && pnpm test
ci-db-authorization:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 5
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Start docker containers for testing
run: docker compose up -d postgresql
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite
run: cd packages/db-authorization && pnpm test
ci-db-core-lint:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 5
strategy:
matrix:
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: 18
cache: 'pnpm'
- name: pnpm install
run: pnpm install --frozen-lockfile
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Linting & Typescript for test suite sql-mapper
run: |
pnpm --filter="@platformatic/sql-mapper" run lint
pnpm --filter="@platformatic/sql-mapper" run test:typescript
- name: Linting & Typescript for test suite sql-json-schema-mapper
run: |
pnpm --filter="@platformatic/sql-json-schema-mapper" run lint
pnpm --filter="@platformatic/sql-json-schema-mapper" run test:typescript
- name: Linting & Typescript for test suite sql-openapi
run: |
pnpm --filter="@platformatic/sql-openapi" run lint
pnpm --filter="@platformatic/sql-openapi" run test:typescript
- name: Linting & Typescript for test suite sql-graphql
run: |
pnpm --filter="@platformatic/sql-graphql" run lint
pnpm --filter="@platformatic/sql-graphql" run test:typescript
- name: Linting & Typescript for test suite sql-events
run: |
pnpm --filter="@platformatic/sql-events" run lint
pnpm --filter="@platformatic/sql-events" run test:typescript
ci-db-core-test:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
db: [postgresql, mariadb, mysql, mysql8, sqlite]
node-version: [18, 20]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Start docker containers for testing
run: docker compose up -d ${{ matrix.db }}
if: ${{ matrix.db != 'sqlite' }}
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Wait for DB
run: sleep 10
if: ${{ matrix.db != 'sqlite' }}
- name: Run test suite sql-mapper
run: cd packages/sql-mapper && pnpm run test:${{ matrix.db }} && cd ../..
- name: Run test suite sql-json-schema-mapper
run: cd packages/sql-json-schema-mapper && pnpm run test:${{ matrix.db }} && cd ../..
- name: Run test suite sql-openapi
run: cd packages/sql-openapi && pnpm run test:${{ matrix.db }} && cd ../..
- name: Run test suite sql-graphql
run: cd packages/sql-graphql && pnpm run test:${{ matrix.db }} && cd ..
ci-sql-events:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 10
strategy:
matrix:
db: [postgresql, mariadb, mysql, mysql8, sqlite]
node-version: [18, 20]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Start docker containers for testing
run: docker compose up -d ${{ matrix.db }}
if: ${{ matrix.db != 'sqlite' }}
- name: Start redis containers for testing
run: docker compose up -d redis
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Wait for DB
run: sleep 10
if: ${{ matrix.db != 'sqlite' }}
- name: Run test suite sql-mapper
run: cd packages/sql-events && pnpm run test:${{ matrix.db }}
ci-auth-login:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite
run: cd packages/authenticate && pnpm test
ci-control:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run runtime package test suite
run: cd packages/control && pnpm test
ci-runtime:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
node-version: [18.18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run runtime package test suite
run: cd packages/runtime && pnpm test
ci-service:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite with code coverage
run: |
cd packages/service
pnpm run test
ci-utils:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run utils package test suite
run: cd packages/utils && pnpm test
ci-client:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- uses: "nick-fields/retry@v3.0.0"
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite with code coverage
run: cd packages/client && pnpm test
- name: Run test suite with code coverage for generator
run: cd packages/client-cli && pnpm test
ci-telemetry:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 5
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- uses: "nick-fields/retry@v3.0.0"
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run test suite
run: cd packages/telemetry && pnpm test
playwright-e2e:
needs: setup-node_modules
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Start docker containers for testing
run: docker compose up -d postgresql
- name: pnpm install
run: pnpm install --frozen-lockfile
- name: Install Playwright browsers
run: cd packages/frontend-template && pnpm exec playwright install
- name: Run Platformatic frontend cli and E2E tests
run: |
node ./packages/cli/cli.js db migrations apply --config=./packages/frontend-template/test/e2e/fixtures/platformatic.e2e.db.json &&
node ./packages/cli/cli.js db start --config=./packages/frontend-template/test/e2e/fixtures/platformatic.e2e.db.json &
sleep 5 &&
rm -rf packages/frontend-template/src/platformatic-generated-code
mkdir -p packages/frontend-template/src/platformatic-generated-code &&
cd packages/frontend-template/src/platformatic-generated-code &&
node ../../../client-cli/cli.mjs http://127.0.0.1:9999 --frontend --language ts &&
pnpm test
ci-generators:
needs: setup-node_modules
runs-on: ${{matrix.os}}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
uses: nick-fields/retry@v3.0.0
with:
max_attempts: 10
timeout_minutes: 15
retry_on: error
command: pnpm install --frozen-lockfile
- name: Run generators package test suite
run: cd packages/generators && pnpm test
dependency-check:
needs: setup-node_modules
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
node-version: [18, 20]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4
- uses: pnpm/action-setup@v4.0.0
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: pnpm install
id: install
run: |
pnpm install --production --frozen-lockfile 2>&1 | tee out
echo "pnpmoutput<<EOF" >> $GITHUB_OUTPUT
cat out >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: CLI must load
run: cd packages/cli && node cli.js
- name: Circular Dependency
if: contains(steps.install.outputs.pnpmoutput, 'cyclic')
run: exit 1