Add "the repo is the tracker" AI PM process blog post (#10) #7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Verify build is up to date | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "24" | |
| cache: "npm" | |
| - run: npm ci | |
| - name: Lint generated HTML | |
| run: npm run lint:html | |
| - name: Build the site | |
| run: npm run build | |
| - name: Fail if the committed output is stale | |
| run: | | |
| if [ -n "$(git status --porcelain)" ]; then | |
| echo "::error::Committed output is out of date with the source. Run 'npm run build' locally and commit the result." | |
| echo "Changed files:" | |
| git status --porcelain | |
| echo "Diff:" | |
| git diff | |
| exit 1 | |
| fi | |
| echo "Committed output matches a fresh build." |