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'