Update content [skip ci]

This commit is contained in:
sit002 2025-12-02 16:21:06 +08:00
parent b979960828
commit cf43ba662d

View File

@ -5,38 +5,39 @@ on:
branches:
- main
tags:
- 'submit' # 学生打 submit 标签触发评分
- 'submit-*' # 或 submit-v1, submit-final 等
workflow_dispatch: # 手动触发
- 'submit' # 仍然允许标签触发
- 'submit-*'
workflow_dispatch:
permissions:
contents: read
pull-requests: write
jobs:
# 检查是否应该跳过 CI
check-skip:
# 检查是否应该触发 CI仅在 commit message 包含 “完成作业” 时执行)
check-trigger:
runs-on: docker
container:
image: alpine:latest
outputs:
should_skip: ${{ steps.check.outputs.skip }}
should_run: ${{ steps.check.outputs.trigger }}
steps:
- name: Check for skip CI
- name: Check commit message for trigger keyword
id: check
run: |
COMMIT_MSG="${{ github.event.head_commit.message }}"
# 检查是否包含 [skip ci], [ci skip], [no ci] 等
if echo "$COMMIT_MSG" | grep -qiE '\[(skip ci|ci skip|no ci|skip actions)\]'; then
echo "skip=true" >> $GITHUB_OUTPUT
echo "⏭️ Skipping CI due to commit message: $COMMIT_MSG"
COMMIT_MSG="${{ github.event.head_commit.message || '' }}"
echo "Commit message: $COMMIT_MSG"
if echo "$COMMIT_MSG" | grep -q "完成作业"; then
echo "trigger=true" >> $GITHUB_OUTPUT
echo "✅ Commit contains \"完成作业\",即将执行评分"
else
echo "skip=false" >> $GITHUB_OUTPUT
echo "trigger=false" >> $GITHUB_OUTPUT
echo "⛔ 只有包含“完成作业”的提交才会执行自动评分" >&2
fi
grade:
needs: check-skip
if: needs.check-skip.outputs.should_skip != 'true'
needs: check-trigger
if: needs.check-trigger.outputs.should_run == 'true'
runs-on: docker
container:
image: gradle:9.0-jdk21