Cut commentary from 104 to 24 lines across the new lint script, CI config, and pre-push hook. Kept only: policy reference, why pattern is loose, why scope is PR commits not history, and non-obvious CI behavior notes. No logic lines changed. Refs #4432
80 lines
2.2 KiB
YAML
80 lines
2.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches: ["**"]
|
|
# Lets `hive-forge ci-rerun` re-trigger CI via workflow-dispatch API
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check:
|
|
name: nix flake check
|
|
runs-on: [hive-ci]
|
|
# 30 min is well above a cold-cache rebuild (~15 min observed) and well
|
|
# under the runner's 3h cap
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: check
|
|
run: nix flake check
|
|
|
|
tracker-tags:
|
|
name: tracker-tag lint
|
|
runs-on: [hive-ci]
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: lint
|
|
run: sh scripts/check-issue-refs.sh
|
|
|
|
comment-blocks:
|
|
name: comment-block lint
|
|
runs-on: [hive-ci]
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: lint
|
|
run: sh scripts/check-comment-blocks.sh
|
|
|
|
doc-refs:
|
|
name: doc-pointer lint
|
|
runs-on: [hive-ci]
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: lint
|
|
run: sh scripts/check-doc-refs.sh
|
|
|
|
attribution-trailers:
|
|
name: attribution-trailer lint
|
|
runs-on: [hive-ci]
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: lint
|
|
run: sh scripts/check-attribution-trailers.sh
|
|
|
|
prose-lint:
|
|
name: prose lint (vale)
|
|
runs-on: [hive-ci]
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: lint
|
|
# Styles are fetched fresh from Vale Package Hub each run (not vendored).
|
|
# Not wired into branch protection — see prose-lint-errors below for the
|
|
# error-only slice that is.
|
|
run: XDG_DATA_HOME="$PWD/.vale-data" nix shell nixpkgs#vale --command sh -c 'vale sync && vale docs'
|
|
|
|
prose-lint-errors:
|
|
name: prose lint (vale, errors)
|
|
runs-on: [hive-ci]
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: lint
|
|
# Error-level-only slice. Split out so this job alone can be a required
|
|
# check without blocking merges on the warning/suggestion backlog.
|
|
run: XDG_DATA_HOME="$PWD/.vale-data" nix shell nixpkgs#vale --command sh -c 'vale sync && vale --minAlertLevel=error docs'
|