Skip to content

chore(deps-dev): bump @types/node from 25.5.2 to 25.9.1 #113

chore(deps-dev): bump @types/node from 25.5.2 to 25.9.1

chore(deps-dev): bump @types/node from 25.5.2 to 25.9.1 #113

Workflow file for this run

# .github/workflows/ci.yml
name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
lint-and-typecheck:
name: Lint & Type Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run TypeScript type check
run: npm run check
- name: Run ESLint
run: npm run lint
test:
name: Run Tests
runs-on: ubuntu-latest
needs: lint-and-typecheck
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm run test:ci
- name: Generate coverage report
run: npm run test:coverage || echo "Coverage generation skipped"
continue-on-error: true
- name: Upload coverage to Codecov (optional)
if: success()
uses: codecov/codecov-action@v6
continue-on-error: true
with:
files: ./coverage/lcov.info
flags: unittests
name: codecov-umbrella
build:
name: Build Application
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run build
- name: Check build artifacts
run: |
if [ -d "dist" ]; then
echo "✅ Build successful - dist directory created"
ls -la dist/
else
echo "❌ Build failed - dist directory not found"
exit 1
fi
- name: Upload build artifacts
uses: actions/upload-artifact@v7
with:
name: build-artifacts
path: dist/
retention-days: 7
security-scan:
name: Security Audit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run npm audit
run: npm audit --audit-level=high
- name: Check for vulnerable dependencies
run: npm audit --audit-level=high --json > audit-results.json
validate:
name: Full Validation
runs-on: ubuntu-latest
needs: [lint-and-typecheck, test, build]
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run full validation
run: npm run validate || (npm run check && npm run test:ci)
- name: Comment on PR
if: always()
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const botComment = comments.find(comment =>
comment.user.type === 'Bot' &&
comment.body.includes('CI Validation')
);
const message = `## ✅ CI Validation Completed
All checks have passed successfully!
- ✅ Type checking
- ✅ Unit tests
- ✅ Build process
- ✅ Security audit
Commit: ${context.sha.substring(0, 7)}
Workflow: ${context.workflow}`;
if (botComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: message
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: message
});
}