Skip to content

Merge pull request #11 from fedikhaled/develop #2

Merge pull request #11 from fedikhaled/develop

Merge pull request #11 from fedikhaled/develop #2

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
verify:
name: Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [18, 20, 22]
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Build package
run: npm run build
- name: Type-check source
run: npm run typecheck
- name: Run tests with coverage thresholds
run: npm run test:coverage -- --runInBand
- name: Inspect package contents
if: matrix.node-version == 20
run: npm pack --dry-run
redis-integration:
name: Redis integration
runs-on: ubuntu-latest
services:
redis:
image: redis:7-alpine
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 5s
--health-retries 10
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Run Redis integration tests
run: npm run test:integration
env:
REDIS_URL: redis://localhost:6379