Skip to content

fix: resolve Gherkin syntax errors in deduction-isolation feature file #134

fix: resolve Gherkin syntax errors in deduction-isolation feature file

fix: resolve Gherkin syntax errors in deduction-isolation feature file #134

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches:
- master
- main
- 'claude/**'
pull_request:
branches:
- master
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Job 1: Run tests and build
test-and-build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install root dependencies
run: npm ci
- name: Run linter (if configured)
run: npm run lint || echo "No linter configured"
continue-on-error: true
- name: Run tests
run: npm test
- name: Build TypeScript
run: npm run build
- name: Generate documentation metadata
run: npm run docs:metadata
- name: Cache Astro dependencies
uses: actions/cache@v4
with:
path: ./docs-astro/node_modules
key: ${{ runner.os }}-astro-${{ hashFiles('docs-astro/package-lock.json') }}
restore-keys: |
${{ runner.os }}-astro-
- name: Install Astro dependencies
working-directory: ./docs-astro
run: npm ci
- name: Build Astro documentation site
working-directory: ./docs-astro
env:
NODE_ENV: production
run: npm run build
- name: Validate all links in built site
run: npm run validate:links
continue-on-error: false
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
dist/
docs-astro/dist/
retention-days: 1
# Job 2: Deploy to GitHub Pages (only on master/main)
deploy:
needs: [test-and-build]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: ./artifacts
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact to Pages
uses: actions/upload-pages-artifact@v3
with:
path: './artifacts/docs-astro/dist'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4