Skip to content
This repository was archived by the owner on Jul 8, 2026. It is now read-only.

Updated Navigation.tsx #1861

Updated Navigation.tsx

Updated Navigation.tsx #1861

Workflow file for this run

name: Security CI & Deploy
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
concurrency:
group: pages
cancel-in-progress: true
permissions:
contents: read
security-events: write
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
quality:
name: Security & Quality Gate
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
- name: Install dependencies
run: npm ci
# Tests
- name: Test
run: npm test
# SonarCloud
- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@v6
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# Semgrep
- name: Semgrep Security Scan
uses: semgrep/semgrep-action@v1
with:
config: >-
p/owasp-top-ten
p/security-audit
p/javascript
p/typescript
p/react
env:
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
# Lint
- name: Lint
run: npm run lint
# Dependency vulnerabilities
- name: Dependency Audit
run: npm audit --audit-level=moderate
# Generate content
- name: Generate Content
run: npm run generate
- name: Generate Docs
run: npm run generate:docs
- name: Generate Sitemap
run: npm run generate:sitemap
# Build
- name: Build
run: npm run build
# Upload Pages artifact
- name: Upload Pages Artifact
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
deploy:
name: Deploy GitHub Pages
needs: quality
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4