Skip to content

demo: preview Argot CI review card #498

demo: preview Argot CI review card

demo: preview Argot CI review card #498

Workflow file for this run

name: CI
# The Rust engine is built + tested by `rust.yml` (Linux + macOS, incl. the
# Python-parity golden suites). This workflow only covers the standalone landing
# site (argot.tmonier.com); its build + deploy is handled by Cloudflare Pages.
on:
pull_request:
branches: ["**"]
permissions:
contents: read
pull-requests: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
changes:
name: detect changes
runs-on: ubuntu-latest
outputs:
landing: ${{ steps.filter.outputs.landing }}
steps:
- uses: actions/checkout@v7
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4
id: filter
with:
filters: |
landing:
- 'landing/**'
- '.github/workflows/ci.yml'
landing:
name: Landing (lint · format · astro check)
needs: changes
if: ${{ needs.changes.outputs.landing == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
working-directory: landing
steps:
- uses: actions/checkout@v7
- uses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4
with:
install: true
- name: Install landing dependencies
run: bun install --frozen-lockfile
- name: Check landing site
run: bun run check
- name: Build landing site
run: bun run build
- name: Gate routes, Markdown twins, locales, and sitemap
run: bun run test:routes
- name: Install Chromium for rendered smoke checks
run: bunx playwright install --with-deps chromium
- name: Run accessibility smoke checks
run: bun run test:a11y
- name: Run Lighthouse budgets
run: bun run test:performance
- name: Upload landing smoke reports
if: ${{ always() }}
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4
with:
name: landing-smoke-reports
path: |
landing/playwright-report
landing/test-results
landing/lighthouse-report
if-no-files-found: ignore