Skip to content

docs(user-guide): document multi-file upload for workflow chat mode #785

docs(user-guide): document multi-file upload for workflow chat mode

docs(user-guide): document multi-file upload for workflow chat mode #785

name: Documentation Pipeline
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
commit-and-pr-validation:
name: Commit & PR Validation
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 1
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: '24'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Validate last commit message
run: git log -1 --format='%B' | npx commitlint --verbose
- name: Validate PR title
run: echo "${{ github.event.pull_request.title }}" | npx commitlint --verbose
- name: Validation summary
if: success()
run: |
echo "Conventional commits validation passed!"
echo "- Commit message: PASSED"
echo "- PR title: PASSED"
secrets-detection:
name: Secrets Detection
runs-on: ubuntu-latest
needs: commit-and-pr-validation
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Run Gitleaks
uses: gitleaks/gitleaks-action@ff98106e4c7b2bc287b24eaf42907196329070c7 # v2.3.9
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITLEAKS_ENABLE_SUMMARY: true
- name: Secrets detection summary
if: success()
run: |
echo "Secrets detection scan completed successfully!"
echo "- Gitleaks: PASSED"
linters:
name: Code Quality Checks
runs-on: ubuntu-latest
needs: commit-and-pr-validation
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: '24'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run TypeScript type checking
run: npm run typecheck
- name: Run ESLint
run: npm run lint:eslint
- name: Run Prettier check
run: npm run lint:prettier
- name: Run Markdown linter
run: npm run lint:markdown
- name: Run spell check
run: npm run lint:spelling
- name: Linting summary
if: success()
run: |
echo "All linting checks passed successfully!"
echo "- TypeScript type checking: PASSED"
echo "- ESLint: PASSED"
echo "- Prettier: PASSED"
echo "- Markdown linting: PASSED"
echo "- Spell checking: PASSED"
build:
name: Build Documentation
runs-on: ubuntu-latest
needs: [secrets-detection, linters]
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: '24'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build project with PR preview configuration
run: npm run build
env:
DOCUSAURUS_URL: https://codemie-docs-pr-previews.s3.eu-central-1.amazonaws.com
DOCUSAURUS_BASE_URL: /pr-${{ github.event.pull_request.number }}/
- name: Upload build artifacts
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: docs-build-pr-${{ github.event.pull_request.number }}
path: build/
retention-days: 1
- name: Build summary
if: success()
run: |
echo "Documentation build completed successfully!"
echo "- Build: PASSED"
echo "- Artifacts uploaded for PR #${{ github.event.pull_request.number }}"