-
Notifications
You must be signed in to change notification settings - Fork 1.2k
136 lines (133 loc) · 5.2 KB
/
VersionCalPRComment.yml
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: Generate Release Version and Comment PR
on:
workflow_dispatch:
pull_request_target:
types: [opened, labeled, unlabeled, synchronize]
paths:
- '**.py'
permissions:
pull-requests: write
jobs:
version-cal:
if: startsWith(github.head_ref, 'auto-version')
runs-on: ubuntu-latest
steps:
- name: Set Init Version Message
run: |
echo "message=$(echo 'Suggested init version: 1.0.0b1 for preview release and 1.0.0 for stable release')" >> $GITHUB_ENV
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Checkout CLI extension repo
uses: actions/checkout@master
with:
fetch-depth: 0 # checkout all branches
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
- name: Show workdirectory after site cloned
run: |
pwd
ls
- name: Get Diff Files
run: |
echo github.event.pull_request.base.sha: ${{github.event.pull_request.base.sha}}
echo github.event.pull_request.base.ref: ${{ github.event.pull_request.base.ref }}
echo github.sha: ${{github.sha}}
echo GITHUB_BASE_REF: ${GITHUB_BASE_REF}
echo GITHUB_HEAD_REF: ${GITHUB_HEAD_REF}
echo GITHUB_SHA: ${GITHUB_SHA}
echo GITHUB_REF: ${GITHUB_REF}
echo "base_branch=${GITHUB_BASE_REF}" >> $GITHUB_ENV
echo "diff_branch=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
echo "base_commit=${GITHUB_SHA}" >> $GITHUB_ENV
echo "diff_commit=${GITHUB_SHA}" >> $GITHUB_ENV
git --version
git log --oneline | head -n 30
echo git branch -a
git branch -a
git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} > changed_files
cat changed_files
cat changed_files | grep azext_ | awk -F"azext_" '{print $1}'| awk -F"/" '{print $2}' | sort | uniq > changed_modules
echo "changed_module_list=$(cat changed_files | grep azext_ | awk -F"azext_" '{print $1}'| awk -F"/" '{print $2}' | sort | uniq | xargs)" >> $GITHUB_ENV
- name: Display Diff Modules
run: |
for mod in `cat changed_modules`
do
echo changed module: ${mod}
done
- name: Checkout CLI main repo
uses: actions/checkout@master
with:
repository: Azure/azure-cli
path: ./azure-cli
- name: Show workdirectory after cli cloned
run: |
pwd
ls
- name: Move the main repo to the same level as the extension repo
run: |
mv azure-cli ../
cd ../
pwd
ls
- name: Install azdev
run: |
python -m pip install --upgrade pip
set -ev
python -m venv env
chmod +x env/bin/activate
source ./env/bin/activate
pip install azdev
azdev --version
cd ../
azdev setup -c azure-cli -r azure-cli-extensions --debug
az --version
pip list -v
- name: Gen Base and Diff Metadata
id: get_comment_message
env:
pr_label_list: ${{ toJson(github.event.pull_request.labels.*.name) }}
base_meta_path: "./base_meta/"
diff_meta_path: "./diff_meta/"
output_file: "version_update.txt"
run: |
chmod +x env/bin/activate
source ./env/bin/activate
echo GITHUB_BASE_REF: ${GITHUB_BASE_REF}
git checkout ${GITHUB_BASE_REF}
for mod in `cat changed_modules`
do
echo **************************
echo changed module: ${mod}
azdev extension add ${mod}
azdev command-change meta-export ${mod} --meta-output-path ./${base_meta_path}/
azdev extension remove ${mod}
echo **************************
echo -e "\n\n\n\n\n"
done
echo GITHUB_HEAD_REF: ${GITHUB_HEAD_REF}
git checkout ${GITHUB_HEAD_REF}
for mod in `cat changed_modules`
do
echo **************************
echo changed module: ${mod}
azdev extension add ${mod}
azdev command-change meta-export ${mod} --meta-output-path ./${diff_meta_path}/
azdev extension remove ${mod}
echo **************************
echo -e "\n\n\n\n\n"
done
echo ls base_meta_path:
ls ./${base_meta_path}/
echo ls diff_meta_path
ls ./${diff_meta_path}/
python scripts/ci/release_version_cal.py
# echo "commit_message=$(cat ${output_file})" >> $GITHUB_ENV
- name: Comment on the pull request
uses: mshick/add-pr-comment@v2
with:
message-path: |
version_update.txt
message-failure: |
Please refer to [Extension version schema](https://github.com/Azure/azure-cli/blob/release/doc/extensions/versioning_guidelines.md) to update release versions.