90bfcaa388
Every commit on dev that's part of an open PR fires each workflow TWICE: once for the push event and once for the pull_request event (observable in run #43 + #44 for the same SHA in android.yml, same shape across test-web.yml and test-go.yml). The two runs check the exact same SHA — pure waste. Drop the pull_request trigger from test-web.yml, test-go.yml, and android.yml. The dev push already exercises every check that a PR would re-run. This repo has no fork PRs to cover, which is the only case pull_request would catch that push doesn't. Add a concurrency group keyed on workflow + ref with cancel-in-progress: true to every workflow including release.yml. Rapid re-pushes (or force-moving the per-day tag) now cancel the older in-flight run instead of stacking.
45 lines
1.0 KiB
YAML
45 lines
1.0 KiB
YAML
name: test-web
|
|
|
|
# Web SPA: vitest + svelte-check. Runs on push to dev/main only —
|
|
# the `pull_request` trigger is intentionally omitted because every
|
|
# branch on this repo is local-only (no fork PRs), so the dev push
|
|
# fully covers what a PR run would re-execute. Keeping both events
|
|
# doubled CI cost on every commit.
|
|
|
|
on:
|
|
push:
|
|
branches: [dev, main]
|
|
paths:
|
|
- 'web/**'
|
|
- '.gitea/workflows/test-web.yml'
|
|
|
|
# Cancel an earlier in-flight run for the same ref when a newer
|
|
# commit arrives. With cancel-in-progress, rapid re-pushes don't
|
|
# pile up zombie runs.
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: go-ci
|
|
container:
|
|
image: git.fabledsword.com/bvandeusen/ci-go:1.26
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: web
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install deps
|
|
run: npm ci
|
|
|
|
- name: Type-check + svelte-check
|
|
run: npm run check
|
|
|
|
- name: Vitest
|
|
run: npm test
|