Skip to content

Fix manifest chat configuration to keep Slack visible in New Chat and align patch version metadata #52

Fix manifest chat configuration to keep Slack visible in New Chat and align patch version metadata

Fix manifest chat configuration to keep Slack visible in New Chat and align patch version metadata #52

Workflow file for this run

name: Security & Quality
on:
push:
branches: ["**"]
pull_request:
branches: [main]
permissions:
contents: read
security-events: write # needed to upload SARIF results to GitHub Security tab
actions: read
jobs:
# ── SAST: ESLint with security-focused rules ──────────────────────────────
sast-eslint:
name: SAST – ESLint (security + code smells)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run ESLint (human-readable)
run: npm run lint
- name: Run ESLint (SARIF for GitHub Code Scanning)
run: npm run lint:sarif
- name: Upload ESLint SARIF to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
if: always() && hashFiles('**/eslint-results.sarif') != ''
with:
sarif_file: eslint-results.sarif
category: eslint-sast
# ── SAST: CodeQL ──────────────────────────────────────────────────────────
sast-codeql:
name: SAST – CodeQL
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: javascript
# Use the default security-extended query suite
queries: security-extended
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: codeql-js
# ── DAST: OWASP ZAP Baseline scan ────────────────────────────────────────
dast-zap:
name: DAST – OWASP ZAP Baseline
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
issues: write # ZAP action may create/update an issue with findings
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Start static test server
run: |
node tests/e2e/server.js &
echo "SERVER_PID=$!" >> "$GITHUB_ENV"
# Wait until server is ready
for i in $(seq 1 10); do
curl -sf http://localhost:3456/options.html > /dev/null && break
sleep 1
done
- name: ZAP Baseline Scan
uses: zaproxy/action-baseline@v0.14.0
with:
target: "http://localhost:3456"
rules_file_name: ".zap/rules.tsv"
fail_action: false # report only, never fail the build
allow_issue_writing: false # don't create GitHub issues from findings
artifact_name: zap-baseline-report
- name: Stop test server
if: always()
run: kill "$SERVER_PID" 2>/dev/null || true