perf(scheduler): index soft-deleted schedules for the cleaning daemon #30495
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: Yaml Validation | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - staging/** | |
| pull_request: | |
| merge_group: | |
| concurrency: | |
| group: validation-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| should-run: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_skip: ${{ steps.check.outputs.should_skip }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| predicate-quantifier: 'some' | |
| filters: | | |
| docs: | |
| - 'docs/**' | |
| - 'scripts/docs-generate-llms.ts' | |
| - 'package.json' | |
| - 'packages/providers/providers.yaml' | |
| - 'packages/providers/providers.scopes.yaml' | |
| - name: Determine if should skip | |
| id: check | |
| run: | | |
| # Run on PRs only if docs, provider metadata, or docs generation tooling changed | |
| # Always run on merge queue | |
| # Always run on direct pushes to master (not merge queue bot) | |
| IS_PR="${{ github.event_name == 'pull_request' }}" | |
| IS_MERGE_QUEUE="${{ github.event_name == 'merge_group' }}" | |
| IS_DIRECT_PUSH_TO_MASTER="${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.actor != 'github-merge-queue[bot]' }}" | |
| HAS_DOCS_CHANGES="${{ steps.filter.outputs.docs }}" | |
| SHOULD_SKIP="true" | |
| # Always run on merge queue and direct push to master | |
| if [[ "$IS_MERGE_QUEUE" == "true" || "$IS_DIRECT_PUSH_TO_MASTER" == "true" ]]; then | |
| SHOULD_SKIP="false" | |
| # Run on PR only if docs, provider metadata, or docs generation tooling changed | |
| elif [[ "$IS_PR" == "true" && "$HAS_DOCS_CHANGES" == "true" ]]; then | |
| SHOULD_SKIP="false" | |
| fi | |
| echo "should_skip=$SHOULD_SKIP" >> $GITHUB_OUTPUT | |
| yaml_validation_job: | |
| needs: should-run | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| if: needs.should-run.outputs.should_skip != 'true' | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: '0' | |
| repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }} | |
| ref: ${{ github.head_ref || github.ref }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: ./.github/actions/setup-node | |
| if: needs.should-run.outputs.should_skip != 'true' | |
| with: | |
| registry-url: 'https://registry.npmjs.org' | |
| - run: npm ci | |
| if: needs.should-run.outputs.should_skip != 'true' | |
| - name: Update LLM indexes if stale | |
| if: needs.should-run.outputs.should_skip != 'true' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository | |
| env: | |
| HEAD_REF: ${{ github.head_ref }} | |
| run: | | |
| npm run docs:generate:llms | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| if git diff --quiet docs/llms.txt docs/llms-full.txt docs/api-catalog.txt; then | |
| echo "No changes to commit." | |
| exit 0 | |
| fi | |
| git add docs/llms.txt docs/llms-full.txt docs/api-catalog.txt | |
| git commit -m "chore(docs): regenerate LLM indexes" | |
| git push origin "HEAD:${HEAD_REF}" | |
| - name: Ensure LLM indexes are up to date | |
| if: needs.should-run.outputs.should_skip != 'true' && github.event_name != 'pull_request' | |
| run: | | |
| npm run docs:generate:llms | |
| git diff --exit-code docs/llms.txt docs/llms-full.txt docs/api-catalog.txt | |
| - name: Validate YAML | |
| if: needs.should-run.outputs.should_skip != 'true' | |
| run: npm run test:providers | |
| - name: Validate OpenAPI | |
| if: needs.should-run.outputs.should_skip != 'true' | |
| run: npm run test:openapi | |
| - name: Ensure there are no broken mintlify links | |
| if: needs.should-run.outputs.should_skip != 'true' | |
| run: | | |
| npm install -g mintlify | |
| cd docs | |
| broken_links_output=$(mintlify broken-links 2>&1) || true | |
| if ! echo "$broken_links_output" | grep -q "no broken links found"; then | |
| echo "$broken_links_output" | |
| exit 1 | |
| fi |