forked from PaddlePaddle/Paddle
-
Notifications
You must be signed in to change notification settings - Fork 0
78 lines (70 loc) · 3.48 KB
/
validate-pir-versions.yml
File metadata and controls
78 lines (70 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Check version equality on release branch
on:
create:
workflow_dispatch:
jobs:
check-version-and-create-issue:
runs-on: ubuntu-latest
if: github.ref_type == 'branch' && startsWith(github.ref, 'refs/heads/release/') && github.repository_owner == 'PaddlePaddle'
steps:
- name: Checkout code
uses: actions/checkout@v3
- 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@v7
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 请尽快处理上述版本不一致问题,谢谢。'
});