Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 10 additions & 19 deletions .github/workflows/check-patch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
rm -rf kernel-src || true
git init kernel-src
cd kernel-src
set -e
set -ex
git config user.email rvci@isrc.iscas.ac.cn
git config user.name rvci
git remote add origin "${REPO}"
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
FETCH_REF: ${{ inputs.fetch_ref }}
SRC_REF: ${{ inputs.src_ref }}
run: |

set -x
patch_dir=patch-$(date +%Y%m%d%H%M%S)
cd "kernel-src"

Expand All @@ -83,36 +83,27 @@ jobs:
echo "begin to check patches..."
set +e
ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- ./scripts/checkpatch.pl "$patch_dir"/*.patch --show-types \
--ignore CONFIG_DESCRIPTION,FILE_PATH_CHANGES,GERRIT_CHANGE_ID,GIT_COMMIT_ID,UNKNOWN_COMMIT_ID,FROM_SIGN_OFF_MISMATCH,REPEATED_WORD,COMMIT_COMMENT_SYMBOL,BLOCK_COMMENT_STYLE,AVOID_EXTERNS,AVOID_BUG > "$patch_dir/checkpatch.log"
--ignore CONFIG_DESCRIPTION,FILE_PATH_CHANGES,GERRIT_CHANGE_ID,GIT_COMMIT_ID,UNKNOWN_COMMIT_ID,FROM_SIGN_OFF_MISMATCH,REPEATED_WORD,COMMIT_COMMENT_SYMBOL,BLOCK_COMMENT_STYLE,AVOID_EXTERNS,AVOID_BUG | tee "$patch_dir/checkpatch.log"
total_error=$(grep -cE "ERROR" "$patch_dir/checkpatch.log")
total_warn=$(grep -cE "WARNING" "$patch_dir/checkpatch.log")
set -e

echo "check patches result: $total_error errors, $total_warn warnings." > check-patch-result

cat > summary_content << EEE
## Check Patch Result

| | |
|---|---|
| Total Errors | $total_error |
| Total Warnings | $total_warn |
<details>
<summary> check patches result: $total_error errors, $total_warn warnings. </summary>
\`\`\`log
$(cat $patch_dir/checkpatch.log)
\`\`\`
</details>
EEE

echo "summary_content<<EOF" >> $GITHUB_OUTPUT
cat summary_content >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

cat > $GITHUB_STEP_SUMMARY <<- EEE
$(cat summary_content)

### Check Patch Log

$(echo '```log')
$(cat $patch_dir/checkpatch.log)
$(echo '```')
EEE

cat summary_content >> $GITHUB_STEP_SUMMARY
exit "${total_error}" # 有错误则步骤失败


Expand Down
54 changes: 30 additions & 24 deletions .github/workflows/kernel-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,21 @@ on:
内核源码仓库commit链接, 如:
- https://github.com/RVCK-Project/rvck/commit/32c7ba2136024ee1563416607e3265ccbee6a55e
- https://github.com/RVCK-Project/rvck-olk/pull/103

upload_dir:
type: string
required: true
description: '上传目录'
update_latest:
type: boolean
default: false
description: |
是否刷新latest软链:
- rvck latest: https://fast-mirror.isrc.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/RVCK/OERV-RVCI/rvck/latest/
- rvck-olk latest: https://fast-mirror.isrc.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/RVCK/OERV-RVCI/rvck-olk/latest/

outputs:
kernel_download_url:
value: ${{ jobs.kernel-build.outputs.kernel_download_url }}
initramfs_download_url:
value: ${{ jobs.kernel-build.outputs.initramfs_download_url }}
kernel_files_url:
value: ${{ jobs.kernel-build.outputs.kernel_files_url }}
kernel_md5sum:
value: ${{ jobs.kernel-build.outputs.kernel_md5sum }}
initramfs_md5sum:
Expand All @@ -39,8 +43,7 @@ jobs:
group: kernel_build-runner

outputs:
kernel_download_url: ${{ steps.publish-kernel.outputs.kernel_download_url }}
initramfs_download_url: ${{ steps.publish-kernel.outputs.initramfs_download_url }}
kernel_files_url: ${{ steps.publish-kernel.outputs.kernel_files_url }}
kernel_md5sum: ${{ steps.publish-kernel.outputs.kernel_md5sum }}
initramfs_md5sum: ${{ steps.publish-kernel.outputs.initramfs_md5sum }}
summary_content: ${{ steps.summary.outputs.summary_content }}
Expand Down Expand Up @@ -77,40 +80,43 @@ jobs:
env:
RSYNC_PASSWORD: ${{ secrets.rync_passphrase }}
run: |

set -x
rsync -av --progress --mkpath "${kernel_result_dir}"/*/* rvck@10.30.190.110::RVCK/${{ inputs.upload_dir }}/
echo "kernel_download_url=https://repo.tarsier-infra.isrc.ac.cn/openEuler-RISC-V/RVCK/OERV-RVCI/${{ inputs.upload_dir }}/Image" >> $GITHUB_OUTPUT
echo "kernel_files_domain_url=https://repo.tarsier-infra.isrc.ac.cn/openEuler-RISC-V/RVCK/OERV-RVCI/${{ inputs.upload_dir }}" >> $GITHUB_OUTPUT
echo "kernel_files_url=http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/${{ inputs.upload_dir }}" >> $GITHUB_OUTPUT
echo "kernel_md5sum=$(awk '{print $1}' "${kernel_result_dir}"/*/Image.md5sum)" >> $GITHUB_OUTPUT
echo "initramfs_download_url=https://repo.tarsier-infra.isrc.ac.cn/openEuler-RISC-V/RVCK/OERV-RVCI/${{ inputs.upload_dir }}/initramfs.img" >> $GITHUB_OUTPUT
echo "initramfs_md5sum=$(awk '{print $1}' "${kernel_result_dir}"/*/initramfs.img.md5sum)" >> $GITHUB_OUTPUT
if [ "${{ inputs.update_latest }}" = true ]; then
ln -s "../${{ inputs.upload_dir }}" latest
rsync -av --progress --mkpath latest rvck@10.30.190.110::RVCK/"$(echo "${{ inputs.commit_url }}" | awk -F'/' '{print $5}')/"
fi

- name: summary
if: ${{ !cancelled() }}
id: summary
env:
kernel_url: ${{ steps.publish-kernel.outputs.kernel_download_url }}
kernel_files_domain_url: ${{ steps.publish-kernel.outputs.kernel_files_domain_url }}
kernel_files_url: ${{ steps.publish-kernel.outputs.kernel_files_url }}
upload_dir: ${{ inputs.upload_dir }}
run: |
if [ "$kernel_url" != "" ]; then
result="Kernel build succeeded: [${upload_dir}]($(dirname ${kernel_url}))/"
if [ "$kernel_files_url" != "" ]; then
result="Kernel build succeeded: [${upload_dir}]($kernel_files_domain_url)/"
else
result="Kernel build failed."
fi

cat > summary << EEE
## Kernel Build Result

$result

$(cat "${kernel_result_dir}"/*/*.md5sum)

EEE

{
echo "## Kernel Build Result"
echo ""
echo "- $result"
cat "${kernel_result_dir}"/*/*.md5sum 2>/dev/null | while read -r l; do
echo "- $l"
done
} | tee summary
cat summary > $GITHUB_STEP_SUMMARY

echo "summary_content<<EOF" >> $GITHUB_OUTPUT
cat summary >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

[ "$kernel_url" != "" ] # 设置步骤状态
[ "$kernel_files_url" != "" ] # 设置步骤状态

23 changes: 12 additions & 11 deletions .github/workflows/kunit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,32 +61,33 @@ jobs:
- name: run kunit test
id: run-kunit-test
if: ${{ !cancelled() }}
shell: bash
run: |
cd kernel-src
make distclean
git checkout .
set -ex
ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- ./tools/testing/kunit/kunit.py run --arch=riscv > kunit.log 2>&1 || true
result="$(grep 'Testing complete' kunit.log || echo "kunit test failed")"

cat >> summary << EEE
cat >> summary <<- EEE
## Kunit Test Result

$result
<details>

<sumary> $result </sumary>

\`\`\`log
$(cat kunit.log)
\`\`\`
</details>
EEE

echo "sumary_content<<EOF" >> $GITHUB_OUTPUT
cat summary >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

cat > $GITHUB_STEP_SUMMARY <<- EEE
$(cat summary)

### Kunit Test Log

$(echo '```bash')
$(cat kunit.log)
$(echo '```')
EEE
cat summary >> $GITHUB_STEP_SUMMARY

grep -q 'Testing complete' kunit.log # 设置步骤结果为失败或成功

Expand Down
Loading