Skip to content

release: v1.10.4

release: v1.10.4 #496

Workflow file for this run

name: StringRay Framework CI/CD
on:
push:
branches: [ master, main ]
pull_request:
branches: [ master, main ]
jobs:
quality:
name: Code Quality
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Type checking
run: npm run typecheck
- name: Linting
run: npm run lint
- name: Security audit
run: npm audit || true
test-unit:
name: Unit Tests
runs-on: ubuntu-latest
needs: quality
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build framework
run: npm run build:all
- name: Run unit tests
run: npm run test:unit
test-integration:
name: Integration Tests
runs-on: ubuntu-latest
needs: test-unit
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build framework
run: npm run build:all
- name: Run integration tests
run: npm run test:integration
test-e2e:
name: E2E Tests
runs-on: ubuntu-latest
needs: test-integration
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build framework
run: npm run build:all
- name: Run E2E tests
run: npm run test:e2e
validate-framework:
name: Framework Validation
runs-on: ubuntu-latest
needs: test-e2e
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build framework
run: npm run build:all
- name: Package framework
run: npm pack
- name: Test package installation
run: |
mkdir test-install
cd test-install
npm init -y
npm install ../strray-ai-*.tgz
node node_modules/strray-ai/scripts/node/postinstall.cjs
- name: Validate framework deployment
run: |
cd test-install
node node_modules/strray-ai/scripts/node/validate-postinstall-config.mjs
node node_modules/strray-ai/scripts/node/validate-mcp-connectivity.js
# Manual deployment and publish jobs removed - uncomment when needed
# deploy-validation:
# version-management: