~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/knotless

git that lives in your Atmosphere account

Forked from chadtmiller.com/knotless

0
0
35 lines · 1.6 KB Raw History
# The web pages' checks, as `just lint` runs them: that the pages, the
# harness and the docs site are formatted as `just fmt` leaves them (oxfmt),
# svelte-check, which fails on any warning, that each component uses only
# its own layer and those below (harness/layers.mjs), and that every theme's
# text meets WCAG AA contrast on what it is drawn on (harness/contrast.mjs).
# The packages are kept between runs and installed again only when the
# lockfile changes.
image: node:24.22.1
# A pre-flight: the merge queue takes a pull into a batch only once this
# has passed at its head, so one left unformatted fails no batch. It takes
# seconds, and a pull that changes none of its paths passes at once.
queue: first
# On the runner host, with every other workflow that holds no secret.
runners: [runner.knotless.dev]
# Every push to main, and pulls into it or a feature/ branch, at their
# heads merged with their base, that change the pages, the harness, the
# docs site, the format's settings or this file. A pull changing none passes at once, noted as skipped.
on:
  push: {refs: [refs/heads/main]}
  pull:
    base: [refs/heads/main, refs/heads/feature/*]
    paths: [web/**, lexicons/**, harness/**, docs-site/**, .oxfmtrc.json, .knotless/workflows/web.yml, .knotless/uses.lock]
cache: [web/node_modules]
steps:
  - uses: chadtmiller.com/steps/npm-ci@1
    name: packages
    with: {dir: web}
  - name: format
    run: web/node_modules/.bin/oxfmt --check web harness docs-site
  - name: layers
    run: node harness/layers.mjs
  - name: contrast
    run: node harness/contrast.mjs
  - name: svelte-check
    run: cd web && npm run check