test python #4
This file contains 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: PR File Changes Comment | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
jobs: | |
comment-changes: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Get changed files | |
id: changed-files | |
uses: tj-actions/changed-files@v35 | |
- name: Process changed files with Python | |
run: | | |
python << EOF | |
import os | |
import json | |
# 从环境变量读取更改的文件列表 | |
changed_files = os.environ['CHANGED_FILES'] | |
# 将字符串转换为列表 | |
changed_files_list = json.loads(changed_files) | |
print("Changed files:") | |
for file in changed_files_list: | |
print(f"- {file}") | |
# 计算更改的文件数量 | |
file_count = len(changed_files_list) | |
# 将文件数量设置为输出变量 | |
with open(os.environ['GITHUB_OUTPUT'], 'a') as fh: | |
print(f"file_count={file_count}", file=fh) | |
EOF | |
env: | |
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} | |
- name: Create file list | |
id: file-list | |
run: | | |
FILE_LIST="" | |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do | |
FILE_LIST="${FILE_LIST}- ${file}\n" | |
done | |
echo "file_list<<EOF" >> $GITHUB_OUTPUT | |
echo -e "$FILE_LIST" >> $GITHUB_OUTPUT | |
echo "EOF" >> $GITHUB_OUTPUT | |
- name: Comment PR | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: `修改的文件列表:\n\n${{ steps.file-list.outputs.file_list }}` | |
}) |