Skip to content

build(deps): bump astro from 6.4.8 to 7.1.3 in the npm_and_yarn group across 1 directory #241

build(deps): bump astro from 6.4.8 to 7.1.3 in the npm_and_yarn group across 1 directory

build(deps): bump astro from 6.4.8 to 7.1.3 in the npm_and_yarn group across 1 directory #241

Workflow file for this run

name: Playwright
on:
pull_request:
paths:
- "src/**"
- "public/**"
- "astro.config.*"
- "package.json"
- "bunfig.toml"
- "bun.lock"
- "tsconfig.json"
- "playwright.config.*"
- "tests/e2e/**"
- "scripts/**"
- "pyproject.toml"
- "uv.lock"
- "vendor/gmaps-scraper/**"
- "tests/python/**"
- "data/raw/**"
- "data/cache/**"
- "site/config.ts"
- "site/theme.css"
- "site/content/templates/**"
- "site/data/imports/**"
- "site/data/raw/**"
- "site/data/cache/**"
- "site/list_sources.json"
- "site/overrides/**"
- "site/public/**"
- "site.example/**"
- "src/data/**"
- "scripts/config/**"
- ".github/workflows/playwright.yml"
push:
branches:
- main
paths:
- "src/**"
- "public/**"
- "astro.config.*"
- "package.json"
- "bunfig.toml"
- "bun.lock"
- "tsconfig.json"
- "playwright.config.*"
- "tests/e2e/**"
- "scripts/**"
- "pyproject.toml"
- "uv.lock"
- "vendor/gmaps-scraper/**"
- "tests/python/**"
- "data/raw/**"
- "data/cache/**"
- "site/config.ts"
- "site/theme.css"
- "site/content/templates/**"
- "site/data/imports/**"
- "site/data/raw/**"
- "site/data/cache/**"
- "site/list_sources.json"
- "site/overrides/**"
- "site/public/**"
- "site.example/**"
- "src/data/**"
- "scripts/config/**"
- ".github/workflows/playwright.yml"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: read
pull-requests: read
jobs:
test-e2e:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v5
with:
fetch-depth: 0
persist-credentials: false
- name: Detect Playwright test scope
id: e2e_filter
uses: dorny/paths-filter@v3
with:
filters: |
all:
- "package.json"
- "bunfig.toml"
- "bun.lock"
- "playwright.config.*"
- "astro.config.*"
- "tsconfig.json"
- "scripts/**"
- "pyproject.toml"
- "uv.lock"
- "vendor/gmaps-scraper/**"
- "tests/python/**"
- "data/raw/**"
- "data/cache/**"
- "site/config.ts"
- "site/theme.css"
- "site/content/templates/**"
- "site/data/imports/**"
- "site/data/raw/**"
- "site/data/cache/**"
- "site/list_sources.json"
- "site/overrides/**"
- "site/public/**"
- "site.example/**"
- "src/data/**"
- "src/lib/**"
- "scripts/config/**"
- "public/icons/**"
- "public/marker-icons/**"
- "tests/e2e/**"
- ".github/workflows/playwright.yml"
guide:
- "src/pages/guides/**"
- "src/components/GuideMap.astro"
- "src/components/PlaceCard.astro"
- "public/scripts/guide-filters.js"
- "public/scripts/place-search.js"
home:
- "src/pages/index.astro"
- "src/components/HomeGuideMap.astro"
- "src/components/GuideCard.astro"
- "public/scripts/home-browser.js"
- "public/scripts/home-browser-*.js"
- "public/scripts/place-search.js"
shared_ui:
- "src/components/AuthorByline.astro"
- "src/components/Layout.astro"
- "src/components/ui/**"
- "src/styles/**"
- "public/scripts/scroll-jump*.js"
- name: Resolve Playwright test files
id: e2e_tests
env:
RUN_ALL_E2E: ${{ steps.e2e_filter.outputs.all == 'true' || steps.e2e_filter.outputs.shared_ui == 'true' }}
RUN_GUIDE_E2E: ${{ steps.e2e_filter.outputs.guide }}
RUN_HOME_E2E: ${{ steps.e2e_filter.outputs.home }}
run: |
tests=()
if [ "$RUN_ALL_E2E" = "true" ]; then
echo "args=" >> "$GITHUB_OUTPUT"
echo "should_run=true" >> "$GITHUB_OUTPUT"
exit 0
fi
if [ "$RUN_GUIDE_E2E" = "true" ]; then
tests+=("tests/e2e/guide-filters.spec.ts")
fi
if [ "$RUN_HOME_E2E" = "true" ]; then
tests+=("tests/e2e/home-browser.spec.ts")
fi
if [ "${#tests[@]}" -eq 0 ]; then
echo "args=" >> "$GITHUB_OUTPUT"
echo "should_run=false" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "args=${tests[*]}" >> "$GITHUB_OUTPUT"
echo "should_run=true" >> "$GITHUB_OUTPUT"
- name: Set up Bun
if: steps.e2e_tests.outputs.should_run == 'true'
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.12
- name: Set up Node.js
if: steps.e2e_tests.outputs.should_run == 'true'
uses: actions/setup-node@v5
with:
node-version: 22
- name: Set up Python
if: steps.e2e_tests.outputs.should_run == 'true'
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Set up uv
if: steps.e2e_tests.outputs.should_run == 'true'
uses: astral-sh/setup-uv@v8.1.0
with:
version: "0.11.6"
enable-cache: true
- name: Install frontend dependencies
if: steps.e2e_tests.outputs.should_run == 'true'
run: bun ci
- name: Install Python dependencies
if: steps.e2e_tests.outputs.should_run == 'true'
run: uv sync --frozen
- name: Install Playwright browsers
if: steps.e2e_tests.outputs.should_run == 'true'
run: bunx playwright install --with-deps chromium
- name: Run Playwright tests
if: steps.e2e_tests.outputs.should_run == 'true'
run: bun run test:e2e -- ${{ steps.e2e_tests.outputs.args }}
- name: Skip Playwright tests
if: steps.e2e_tests.outputs.should_run != 'true'
run: echo "No Playwright specs matched the changed files."