feat(seo): IndexNow post-deploy submission to Bing/Yandex/Naver #52
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [20, 22] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Install | |
| run: npm ci | |
| - name: Format check | |
| run: npm run format:check | |
| - name: Verify zero third-party dependencies | |
| run: | | |
| # Internal @grainulation/* deps are allowed; any other dep fails. | |
| foreign=$(node -e " | |
| const d = require('./package.json').dependencies || {}; | |
| const bad = Object.keys(d).filter(n => !n.startsWith('@grainulation/')); | |
| console.log(bad.join(',')); | |
| ") | |
| if [ -n "$foreign" ]; then | |
| echo "ERROR: package.json has third-party dependencies: $foreign" | |
| echo "Only @grainulation/* internal deps are permitted." | |
| exit 1 | |
| fi | |
| - name: Run tests | |
| run: npm test | |
| - name: CLI help check | |
| run: node bin/mill.js --help | |
| publish-dry-run: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - run: npm pack --dry-run | |
| seo-regression-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run SEO regression check | |
| run: bash scripts/seo-check.sh |