Skip to content

Publish the 1.0.5 Sparkle update feed (#143) #145

Publish the 1.0.5 Sparkle update feed (#143)

Publish the 1.0.5 Sparkle update feed (#143) #145

Workflow file for this run

# Split from build-and-test.yml so a site change never spends macOS runner
# minutes; that workflow ignores site/ in return.
name: Site
on:
push:
branches: [main]
paths:
- 'site/**'
- '.github/workflows/site.yml'
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: site-${{ github.event_name == 'pull_request' && github.ref || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
scope:
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
site: ${{ steps.scope.outputs.site }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Test suite selection and result handling
run: python3 tools/ci/test_verification.py
- name: Select suites
id: scope
run: python3 tools/ci/verification.py scope >> "$GITHUB_OUTPUT"
site:
needs: scope
if: needs.scope.outputs.site == 'true'
runs-on: ubuntu-latest
timeout-minutes: 10
defaults:
run:
working-directory: site
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
cache-dependency-path: site/package-lock.json
- name: Install
run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm test
# The build is part of the check because the prerender script runs at
# build time and is where a broken import or a bad asset path surfaces.
- name: Build
run: npm run build
verification:
name: Site verification
if: ${{ always() }}
needs: [scope, site]
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Require the selected site job to pass
env:
NEEDS_JSON: ${{ toJSON(needs) }}
run: python3 tools/ci/verification.py gate site