Skip to content

Enhance README and examples with updated authentication methods and c… #27

Enhance README and examples with updated authentication methods and c…

Enhance README and examples with updated authentication methods and c… #27

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
schedule:
# Run tests daily at 2 AM UTC
- cron: "0 2 * * *"
env:
NODE_ENV: test
jobs:
code-quality:
name: Code Quality & Linting
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
- name: Check TypeScript compilation
run: npx tsc --noEmit
test:
name: Tests (Node 20.x)
runs-on: ubuntu-latest
needs: code-quality
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm test
- name: Generate coverage report
run: npm run test:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage/lcov.info
flags: unittests
name: unit-tests
fail_ci_if_error: false
- name: Archive coverage artifacts
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage/
build:
name: Build & Verify
runs-on: ubuntu-latest
needs: code-quality
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build project
run: npm run build
- name: Verify build artifacts
run: |
ls -la dist/
test -f dist/index.js || (echo "Missing dist/index.js" && exit 1)
test -f dist/index.d.ts || (echo "Missing dist/index.d.ts" && exit 1)
echo "Build artifacts verified successfully"
integration-tests:
name: Integration Tests
runs-on: ubuntu-latest
needs: [test, build]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Create test environment file
run: |
cp .env.example .env
echo "NODE_ENV=test" >> .env
- name: Build project
run: npm run build
- name: Run integration tests
run: npm test -- --testPathPattern=integration
continue-on-error: true
- name: Run demo scripts (dry run)
run: |
echo "Testing demo scripts..."
# Add any demo script tests here if needed
echo "Demo scripts validation completed"
security-audit:
name: Security & Dependencies
runs-on: ubuntu-latest
needs: code-quality
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run security audit
run: npm audit --audit-level=moderate
- name: Check for outdated packages
run: npm outdated || true