Skip to content

Commit 69891e6

Browse files
ci: 删除变更检测
1 parent d90294c commit 69891e6

File tree

1 file changed

+118
-112
lines changed

1 file changed

+118
-112
lines changed

.github/workflows/ci.yml

Lines changed: 118 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -17,78 +17,78 @@ permissions:
1717
contents: write
1818

1919
jobs:
20-
check_changes:
21-
runs-on: ubuntu-latest
22-
outputs:
23-
docs_changed: ${{ steps.check_files.outputs.docs }}
24-
config_changed: ${{ steps.check_files.outputs.config }}
25-
should_build: ${{ steps.check_files.outputs.docs == 'true' || steps.check_files.outputs.config == 'true' || github.event_name == 'workflow_dispatch' }}
26-
steps:
27-
- uses: actions/checkout@v4
28-
with:
29-
fetch-depth: 2
30-
31-
- name: Check for relevant file changes
32-
id: check_files
33-
run: |
34-
# 如果是手动触发且选择跳过检测,则直接返回 true
35-
if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ github.event.inputs.skip_checks }}" = "true" ]; then
36-
echo "🚀 Manual trigger with skip_checks enabled - forcing build"
37-
echo "docs_changed=true" >> $GITHUB_OUTPUT
38-
echo "config_changed=true" >> $GITHUB_OUTPUT
39-
exit 0
40-
fi
41-
42-
echo "GitHub event: ${{ github.event_name }}"
43-
echo "Current SHA: $(git rev-parse HEAD)"
44-
45-
# 对于 PR,比较当前分支与目标分支
46-
if [ "${{ github.event_name }}" = "pull_request" ]; then
47-
BASE_SHA="${{ github.event.pull_request.base.sha }}"
48-
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
49-
echo "PR mode: base=$BASE_SHA, head=$HEAD_SHA"
50-
else
51-
# 对于 push 事件,使用 GitHub 提供的事件数据
52-
if [ -n "${{ github.event.before }}" ] && [ "${{ github.event.before }}" != "0000000000000000000000000000000000000000" ]; then
53-
BASE_SHA="${{ github.event.before }}"
54-
HEAD_SHA="${{ github.event.after }}"
55-
echo "Push mode with valid before: base=$BASE_SHA, head=$HEAD_SHA"
56-
else
57-
# 如果没有有效的 before SHA(比如首次提交),则与空树比较
58-
BASE_SHA="4b825dc642cb6eb9a060e54bf8d69288fbee4904" # 空树
59-
HEAD_SHA="${{ github.sha }}"
60-
echo "Push mode (initial commit): base=empty-tree, head=$HEAD_SHA"
61-
fi
62-
fi
63-
64-
echo "Comparing $BASE_SHA..$HEAD_SHA"
65-
66-
# 使用 git diff 检查变更
67-
changed_files=$(git diff --name-only $BASE_SHA $HEAD_SHA 2>/dev/null || echo "")
68-
echo "All changed files:"
69-
echo "$changed_files"
70-
71-
# 检查 zensical.toml 是否变更
72-
if echo "$changed_files" | grep -q "zensical.toml"; then
73-
echo "config_changed=true" >> $GITHUB_OUTPUT
74-
echo "✅ zensical.toml changed"
75-
else
76-
echo "config_changed=false" >> $GITHUB_OUTPUT
77-
echo "❌ zensical.toml not changed"
78-
fi
79-
80-
# 检查 /docs/ 目录下文件是否变更
81-
if echo "$changed_files" | grep -q "^docs/"; then
82-
echo "docs_changed=true" >> $GITHUB_OUTPUT
83-
echo "✅ docs/ directory changed"
84-
else
85-
echo "docs_changed=false" >> $GITHUB_OUTPUT
86-
echo "❌ docs/ directory not changed"
87-
fi
20+
# check_changes:
21+
# runs-on: ubuntu-latest
22+
# outputs:
23+
# docs_changed: ${{ steps.check_files.outputs.docs }}
24+
# config_changed: ${{ steps.check_files.outputs.config }}
25+
# should_build: ${{ steps.check_files.outputs.docs == 'true' || steps.check_files.outputs.config == 'true' || github.event_name == 'workflow_dispatch' }}
26+
# steps:
27+
# - uses: actions/checkout@v4
28+
# with:
29+
# fetch-depth: 2
30+
#
31+
# - name: Check for relevant file changes
32+
# id: check_files
33+
# run: |
34+
# # 如果是手动触发且选择跳过检测,则直接返回 true
35+
# if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ github.event.inputs.skip_checks }}" = "true" ]; then
36+
# echo "🚀 Manual trigger with skip_checks enabled - forcing build"
37+
# echo "docs_changed=true" >> $GITHUB_OUTPUT
38+
# echo "config_changed=true" >> $GITHUB_OUTPUT
39+
# exit 0
40+
# fi
41+
#
42+
# echo "GitHub event: ${{ github.event_name }}"
43+
# echo "Current SHA: $(git rev-parse HEAD)"
44+
#
45+
# # 对于 PR,比较当前分支与目标分支
46+
# if [ "${{ github.event_name }}" = "pull_request" ]; then
47+
# BASE_SHA="${{ github.event.pull_request.base.sha }}"
48+
# HEAD_SHA="${{ github.event.pull_request.head.sha }}"
49+
# echo "PR mode: base=$BASE_SHA, head=$HEAD_SHA"
50+
# else
51+
# # 对于 push 事件,使用 GitHub 提供的事件数据
52+
# if [ -n "${{ github.event.before }}" ] && [ "${{ github.event.before }}" != "0000000000000000000000000000000000000000" ]; then
53+
# BASE_SHA="${{ github.event.before }}"
54+
# HEAD_SHA="${{ github.event.after }}"
55+
# echo "Push mode with valid before: base=$BASE_SHA, head=$HEAD_SHA"
56+
# else
57+
# # 如果没有有效的 before SHA(比如首次提交),则与空树比较
58+
# BASE_SHA="4b825dc642cb6eb9a060e54bf8d69288fbee4904" # 空树
59+
# HEAD_SHA="${{ github.sha }}"
60+
# echo "Push mode (initial commit): base=empty-tree, head=$HEAD_SHA"
61+
# fi
62+
# fi
63+
#
64+
# echo "Comparing $BASE_SHA..$HEAD_SHA"
65+
#
66+
# # 使用 git diff 检查变更
67+
# changed_files=$(git diff --name-only $BASE_SHA $HEAD_SHA 2>/dev/null || echo "")
68+
# echo "All changed files:"
69+
# echo "$changed_files"
70+
#
71+
# # 检查 zensical.toml 是否变更
72+
# if echo "$changed_files" | grep -q "zensical.toml"; then
73+
# echo "config_changed=true" >> $GITHUB_OUTPUT
74+
# echo "✅ zensical.toml changed"
75+
# else
76+
# echo "config_changed=false" >> $GITHUB_OUTPUT
77+
# echo "❌ zensical.toml not changed"
78+
# fi
79+
#
80+
# # 检查 /docs/ 目录下文件是否变更
81+
# if echo "$changed_files" | grep -q "^docs/"; then
82+
# echo "docs_changed=true" >> $GITHUB_OUTPUT
83+
# echo "✅ docs/ directory changed"
84+
# else
85+
# echo "docs_changed=false" >> $GITHUB_OUTPUT
86+
# echo "❌ docs/ directory not changed"
87+
# fi
8888

8989
build:
90-
needs: check_changes
91-
if: needs.check_changes.outputs.should_build == 'true'
90+
# needs: check_changes
91+
# if: needs.check_changes.outputs.should_build == 'true'
9292
runs-on: ubuntu-latest
9393
outputs:
9494
commit_hash: ${{ steps.build-info.outputs.commit_hash }}
@@ -142,8 +142,11 @@ jobs:
142142
retention-days: 1
143143

144144
deploy_build:
145-
needs: [check_changes, build]
146-
if: needs.check_changes.outputs.should_build == 'true' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
145+
# needs: [check_changes, build]
146+
needs: [build]
147+
# if: needs.check_changes.outputs.should_build == 'true' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
148+
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
149+
147150
runs-on: ubuntu-latest
148151
steps:
149152
- uses: actions/checkout@v4
@@ -159,25 +162,25 @@ jobs:
159162
id: check_build_changes
160163
run: |
161164
# 如果是手动触发,跳过内容检查,强制部署
162-
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
163-
echo "🚀 Manual trigger - forcing deployment to build branch"
164-
echo "no_changes=false" >> $GITHUB_OUTPUT
165-
exit 0
166-
fi
165+
# if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
166+
# echo "🚀 Manual trigger - forcing deployment to build branch"
167+
# echo "no_changes=false" >> $GITHUB_OUTPUT
168+
# exit 0
169+
# fi
167170

168171
# 检查 build 分支是否存在
169-
if git ls-remote --exit-code --heads origin build; then
170-
echo "Build branch exists"
171-
git fetch origin build
172-
git worktree add ../build-branch build
172+
# if git ls-remote --exit-code --heads origin build; then
173+
# echo "Build branch exists"
174+
# git fetch origin build
175+
# git worktree add ../build-branch build
173176
# 比较文件差异
174-
if diff -qr ./site ../build-branch > /dev/null 2>&1; then
175-
echo "no_changes=true" >> $GITHUB_OUTPUT
176-
echo "📝 Build branch content unchanged, skipping deployment"
177-
else
178-
echo "no_changes=false" >> $GITHUB_OUTPUT
179-
echo "🔄 Build branch content changed, proceeding with deployment"
180-
fi
177+
# if diff -qr ./site ../build-branch > /dev/null 2>&1; then
178+
# echo "no_changes=true" >> $GITHUB_OUTPUT
179+
# echo "📝 Build branch content unchanged, skipping deployment"
180+
# else
181+
# echo "no_changes=false" >> $GITHUB_OUTPUT
182+
# echo "🔄 Build branch content changed, proceeding with deployment"
183+
# fi
181184
# 清理工作树
182185
git worktree remove ../build-branch
183186
else
@@ -186,7 +189,7 @@ jobs:
186189
fi
187190

188191
- name: Deploy to build branch
189-
if: steps.check_build_changes.outputs.no_changes == 'false'
192+
# if: steps.check_build_changes.outputs.no_changes == 'false'
190193
run: |
191194
# 修复:使用更简单直接的方法部署到 build 分支
192195
cd $GITHUB_WORKSPACE
@@ -220,12 +223,15 @@ jobs:
220223
echo "✅ Successfully deployed to build branch"
221224
222225
- name: Skip deployment (no changes)
223-
if: steps.check_build_changes.outputs.no_changes == 'true'
226+
# if: steps.check_build_changes.outputs.no_changes == 'true'
224227
run: echo "🚫 Skipping build branch deployment - no content changes detected"
225228

226229
deploy_pages:
227-
needs: [check_changes, build]
228-
if: needs.check_changes.outputs.should_build == 'true' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
230+
needs: [build]
231+
# needs: [check_changes, build]
232+
# if: needs.check_changes.outputs.should_build == 'true' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
233+
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
234+
229235
runs-on: ubuntu-latest
230236
steps:
231237
- uses: actions/checkout@v4
@@ -241,25 +247,25 @@ jobs:
241247
id: check_pages_changes
242248
run: |
243249
# 如果是手动触发,跳过内容检查,强制部署
244-
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
245-
echo "🚀 Manual trigger - forcing deployment to gh-pages"
246-
echo "no_changes=false" >> $GITHUB_OUTPUT
247-
exit 0
248-
fi
250+
# if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
251+
# echo "🚀 Manual trigger - forcing deployment to gh-pages"
252+
# echo "no_changes=false" >> $GITHUB_OUTPUT
253+
# exit 0
254+
# fi
249255

250256
# 检查 gh-pages 分支是否存在
251-
if git ls-remote --exit-code --heads origin gh-pages; then
252-
echo "gh-pages branch exists"
253-
git fetch origin gh-pages
254-
git worktree add ../gh-pages-branch gh-pages
257+
# if git ls-remote --exit-code --heads origin gh-pages; then
258+
# echo "gh-pages branch exists"
259+
# git fetch origin gh-pages
260+
# git worktree add ../gh-pages-branch gh-pages
255261
# 比较文件差异(排除CNAME文件)
256-
if diff -qr --exclude=CNAME ./site ../gh-pages-branch > /dev/null 2>&1; then
257-
echo "no_changes=true" >> $GITHUB_OUTPUT
258-
echo "📝 gh-pages content unchanged, skipping deployment"
259-
else
260-
echo "no_changes=false" >> $GITHUB_OUTPUT
261-
echo "🔄 gh-pages content changed, proceeding with deployment"
262-
fi
262+
# if diff -qr --exclude=CNAME ./site ../gh-pages-branch > /dev/null 2>&1; then
263+
# echo "no_changes=true" >> $GITHUB_OUTPUT
264+
# echo "📝 gh-pages content unchanged, skipping deployment"
265+
# else
266+
# echo "no_changes=false" >> $GITHUB_OUTPUT
267+
# echo "🔄 gh-pages content changed, proceeding with deployment"
268+
# fi
263269
# 清理工作树
264270
git worktree remove ../gh-pages-branch
265271
else
@@ -268,7 +274,7 @@ jobs:
268274
fi
269275

270276
- name: Deploy to gh-pages branch
271-
if: steps.check_pages_changes.outputs.no_changes == 'false'
277+
# if: steps.check_pages_changes.outputs.no_changes == 'false'
272278
run: |
273279
# 修复:使用更简单直接的方法部署到 gh-pages 分支
274280
cd $GITHUB_WORKSPACE
@@ -304,6 +310,6 @@ jobs:
304310
git push -f origin gh-pages
305311
echo "✅ Successfully deployed to gh-pages branch"
306312
307-
- name: Skip deployment (no changes)
308-
if: steps.check_pages_changes.outputs.no_changes == 'true'
309-
run: echo "🚫 Skipping gh-pages deployment - no content changes detected"
313+
# - name: Skip deployment (no changes)
314+
# if: steps.check_pages_changes.outputs.no_changes == 'true'
315+
# run: echo "🚫 Skipping gh-pages deployment - no content changes detected"

0 commit comments

Comments
 (0)