83 lines
3.6 KiB
YAML
83 lines
3.6 KiB
YAML
name: Check version equality on release branch
|
|
|
|
on:
|
|
create:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check-version-and-create-issue:
|
|
runs-on:
|
|
group: APPROVAL
|
|
if: github.ref_type == 'branch' && startsWith(github.ref, 'refs/heads/release/') && github.repository_owner == 'PaddlePaddle'
|
|
steps:
|
|
- name: Cleanup
|
|
run: |
|
|
rm -rf * .[^.]*
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Check DEVELOP_VERSION and RELEASE_VERSION equality
|
|
id: check_versions
|
|
run: |
|
|
FILE="paddle/fluid/pir/serialize_deserialize/CMakeLists.txt"
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "file_exists=false" >> "$GITHUB_OUTPUT"
|
|
echo "equal=false" >> "$GITHUB_OUTPUT"
|
|
exit 0
|
|
else
|
|
echo "file_exists=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
develop_version=$(grep -oP '(?<=add_definitions\(-DDEVELOP_VERSION=)[0-9]+' "$FILE")
|
|
release_version=$(grep -oP '(?<=add_definitions\(-DRELEASE_VERSION=)[0-9]+' "$FILE")
|
|
|
|
echo "Develop version: $develop_version"
|
|
echo "Release version: $release_version"
|
|
|
|
echo "develop_version=$develop_version" >> "$GITHUB_OUTPUT"
|
|
echo "release_version=$release_version" >> "$GITHUB_OUTPUT"
|
|
|
|
if [ "$develop_version" = "$release_version" ]; then
|
|
echo "equal=true" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "equal=false" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Create Issue if versions not equal
|
|
if: steps.check_versions.outputs.equal == 'false'
|
|
uses: actions/github-script@v8
|
|
env:
|
|
DEVELOP_VERSION: ${{ steps.check_versions.outputs.develop_version }}
|
|
RELEASE_VERSION: ${{ steps.check_versions.outputs.release_version }}
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
const branchName = context.ref.replace('refs/heads/', '');
|
|
const developVersion = parseInt(process.env.DEVELOP_VERSION);
|
|
const releaseVersion = parseInt(process.env.RELEASE_VERSION);
|
|
const issueTitle = `DEVELOP_VERSION and RELEASE_VERSION mismatch in paddle/fluid/pir/serialize_deserialize/CMakeLists.txt (${branchName})`;
|
|
const issueBody =
|
|
`Hello, in the new branch \`${branchName}\`, the \`DEVELOP_VERSION\` and \`RELEASE_VERSION\` values in \`paddle/fluid/pir/serialize_deserialize/CMakeLists.txt\` are inconsistent. Please check.\n\n` +
|
|
`**Current values:**\n` +
|
|
`- DEVELOP_VERSION: \`${developVersion}\`\n` +
|
|
`- RELEASE_VERSION: \`${releaseVersion}\`\n\n` +
|
|
`**Recommended update (apply to both \`develop\` and \`release\` branches):**\n` +
|
|
`\`\`\`\n` +
|
|
`DEVELOP_VERSION=${releaseVersion + 1}\n` +
|
|
`RELEASE_VERSION=${releaseVersion + 1}\n` +
|
|
`\`\`\`\n\n` +
|
|
`Also, please remember to update the corresponding YAML files under:\n` +
|
|
`\`paddle/fluid/pir/serialize_deserialize/patch\`\n`;
|
|
const issueResult = await github.rest.issues.create({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
title: issueTitle,
|
|
body: issueBody,
|
|
});
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issueResult.data.number,
|
|
body: 'cc @changeyoung98 @xiaoguoguo626807 @goocody 请尽快处理上述版本不一致问题,谢谢。'
|
|
});
|