mirror of
https://github.com/reconurge/flowsint.git
synced 2026-11-08 14:35:41 -06:00
lint-staged@17.3.0 requires node >=22.22.1; CI pinned node 20, so yarn install failed outright on every frontend job (lint, typecheck, tests) before any real check ran.
51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Python tests
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v7
|
|
with:
|
|
enable-cache: true
|
|
|
|
# Same entrypoint as local development — keeps CI and `make test` in sync.
|
|
- name: Run tests
|
|
run: make test
|
|
env:
|
|
# flowsint_core hard-requires these at import time (provided by .env
|
|
# locally). Dummy values — no service is reached during tests:
|
|
# connections (redis.from_url, create_engine) are lazy.
|
|
AUTH_SECRET: ci-only-dummy-secret
|
|
REDIS_URL: redis://127.0.0.1:6379/0
|
|
|
|
frontend-test:
|
|
name: Frontend tests (vitest)
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
- run: yarn install --frozen-lockfile
|
|
- run: yarn workspace flowsint-app test
|