fix(engine): 修复 HTML 注释内代码围栏导致后续正文被吞掉 (Closes #885) #220
Workflow file for this run
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
| # ============================================================================= | |
| # PR Check: Changeset — 检查 PR 是否附带 changeset | |
| # | |
| # 触发时机: PR 打开 / 有新推送 / 重开 / label 变更时自动运行 | |
| # 功能: | |
| # - 检查 PR 是否新增了 .changeset/*.md 文件 | |
| # - 自动跳过: 纯文档/CI 变更(仅修改 .github/, docs/, *.md) | |
| # - 手动跳过: 添加 skip-changeset label | |
| # ============================================================================= | |
| name: 'PR: Changeset Check' | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, labeled, unlabeled] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changeset-check: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Check for skip-changeset label | |
| id: skip-label | |
| run: | | |
| if echo '${{ toJSON(github.event.pull_request.labels.*.name) }}' | jq -e 'index("skip-changeset")' > /dev/null 2>&1; then | |
| echo "skip=true" >> $GITHUB_OUTPUT | |
| echo "✅ skip-changeset label detected, skipping check" | |
| else | |
| echo "skip=false" >> $GITHUB_OUTPUT | |
| fi | |
| - uses: actions/checkout@v6 | |
| if: steps.skip-label.outputs.skip != 'true' | |
| with: | |
| fetch-depth: 0 | |
| - name: Check if only docs/CI changes | |
| if: steps.skip-label.outputs.skip != 'true' | |
| id: docs-only | |
| run: | | |
| CHANGED_FILES=$(git diff --name-only origin/${{ github.event.pull_request.base.ref }}...HEAD) | |
| echo "Changed files:" | |
| echo "$CHANGED_FILES" | |
| # 检查是否所有变更文件都是文档/CI 相关 | |
| NON_DOC_FILES=$(echo "$CHANGED_FILES" | grep -v -E '^(\.github/|docs/|\.changeset/|.*\.md$)' || true) | |
| if [ -z "$NON_DOC_FILES" ]; then | |
| echo "skip=true" >> $GITHUB_OUTPUT | |
| echo "✅ Only docs/CI changes detected, skipping changeset check" | |
| else | |
| echo "skip=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Check for changeset | |
| if: steps.skip-label.outputs.skip != 'true' && steps.docs-only.outputs.skip != 'true' | |
| run: | | |
| # 获取 PR 新增的 changeset 文件(排除 README.md 和 config.json) | |
| NEW_CHANGESETS=$(git diff --name-only --diff-filter=A origin/${{ github.event.pull_request.base.ref }}...HEAD -- '.changeset/*.md' | grep -v 'README.md' || true) | |
| if [ -z "$NEW_CHANGESETS" ]; then | |
| echo "❌ No changeset found!" | |
| echo "" | |
| echo "This PR is missing a changeset. Please add one by running:" | |
| echo "" | |
| echo " yarn changeset" | |
| echo "" | |
| echo "If this change doesn't need a version bump, add the 'skip-changeset' label to this PR." | |
| exit 1 | |
| else | |
| echo "✅ Changeset found:" | |
| echo "$NEW_CHANGESETS" | |
| fi |