Repository navigation
fix: resolve Gherkin syntax errors in deduction-isolation feature file #134
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |