Skip to content

Merge pull request #431 from TheWizardsCode/copilot/parameterize-mont… #228

Merge pull request #431 from TheWizardsCode/copilot/parameterize-mont…

Merge pull request #431 from TheWizardsCode/copilot/parameterize-mont… #228

Workflow file for this run

# Deploy to GitHub Pages on push to main
# Runs quality gates (test + build) before deploying.
name: Deploy to GitHub Pages
on:
push:
branches: [main]
# Allow only one concurrent deployment; cancel in-flight runs.
concurrency:
group: pages
cancel-in-progress: true
permissions:
contents: read
pages: write
id-token: write
jobs:
monte-carlo:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Run Monte Carlo harness (greedy)
run: npm run monte-carlo
- name: Upload Monte Carlo artifacts
uses: actions/upload-artifact@v4
with:
name: main-street-monte-carlo-greedy
path: results/
retention-days: 30
build-and-deploy:
runs-on: ubuntu-latest
needs: monte-carlo
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Install Playwright Chromium
run: npx playwright install chromium
- name: Run tests
run: npm test
env:
MONTE_SEEDS: 200
MONTE_MIN_WIN_RATE: 0.30
MONTE_MAX_WIN_RATE: 0.60
- name: Build
run: npm run build
- name: Configure Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: dist
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4