Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,9 @@ updates:
patterns: ["*"]
commit-message:
prefix: "build(deps)"
ignore:
# TypeScript 7 is the native-compiler rewrite and breaks `next build`
# (verified: the site builds on 5.x, fails on 7.0.2). Migrate to it
# deliberately, not via a routine deps bump.
- dependency-name: typescript
update-types: ["version-update:semver-major"]
36 changes: 36 additions & 0 deletions .github/workflows/site-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Site CI

# Build the website on pull requests that touch it, so a broken build is
# caught before merge — pages.yml only builds on push to main, which would
# otherwise be the first time a bad website change fails.
on:
pull_request:
paths: ["website/**", ".github/workflows/site-ci.yml"]

permissions:
contents: read

concurrency:
group: site-ci-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: website build
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v6
with:
node-version: "22"
cache: npm
cache-dependency-path: website/package-lock.json
- run: npm ci
# Same base path as the pages.yml deploy build, so the two can't drift.
- name: Build static site
run: npm run build
env:
PAGES_BASE_PATH: /tarjan
5 changes: 5 additions & 0 deletions commitlint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
// .githooks/commit-msg (enable with `make hooks`).
export default {
extends: ["@commitlint/config-conventional"],
// Dependabot's generated messages ("build(deps): Bump …") use a capitalized
// subject and long metadata lines in the body, neither of which can be
// changed via dependabot.yml — exempt them instead of failing every update
// PR. The type/scope prefix itself is still set in .github/dependabot.yml.
ignores: [(message) => /^(build|ci)\(deps[^)]*\): bump /i.test(message)],
rules: {
// Keep in sync with .githooks/commit-msg.
"header-max-length": [2, "always", 100],
Expand Down