Skip to content

Commit

Permalink
[CI] Add version cal workflow (Azure#7355)
Browse files Browse the repository at this point in the history
* add env
  • Loading branch information
AllyW authored Mar 8, 2024
1 parent 691a00d commit 05b97c8
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 4 deletions.
130 changes: 130 additions & 0 deletions .github/workflows/VersionCalPRComment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
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: contains(github.event.pull_request.labels.*.name, 'auto-cal-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 }} # checkout pull request branch
- name: Show workdirectory after site cloned
run: |
pwd
ls
- name: Get Diff Files
env:
bash_sha: ${{ github.event.pull_request.base.sha }}
base_branch: ${{ github.event.pull_request.base.ref }}
diff_sha: ${{ github.event.pull_request.head.sha }}
diff_branch: ${{ github.event.pull_request.head.ref }}
repo_full_name: ${{ github.event.pull_request.head.repo.full_name }}
run: |
set -x
git --version
git log --oneline | head -n 30
git branch -a
git fetch https://github.com/Azure/azure-cli-extensions.git ${{ env.base_branch }}:${{ env.base_branch }}
git checkout ${{ env.base_branch }}
git log --oneline | head -n 30
git checkout ${{ env.diff_branch }}
git log --oneline | head -n 30
git --no-pager diff --name-only --diff-filter=ACMRT ${{ env.base_branch }}...${{ env.diff_branch }} > 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 ${{ env.changed_module_list }}
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_branch: ${{ github.event.pull_request.base.ref }}
diff_branch: ${{ github.event.pull_request.head.ref }}
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
set -ev
git checkout ${{ env.base_branch }}
mkdir ${{ env.base_meta_path }}
for mod in ${{ env.changed_module_list }}
do
echo changed module: "${mod}"
azdev extension add "${mod}" && azdev command-change meta-export "${mod}" --meta-output-path ./${{ env.base_meta_path }}/ && azdev extension remove "${mod}"
done
git checkout ${{ env.diff_branch }}
mkdir ${{ env.diff_meta_path }}
for mod in ${{ env.changed_module_list }}
do
echo changed module: "${mod}"
azdev extension add "${mod}" && azdev command-change meta-export "${mod}" --meta-output-path ./${{ env.diff_meta_path }}/ && azdev extension remove "${mod}"
done
ls ./${{ env.base_meta_path }}/
ls ./${{ env.diff_meta_path }}/
git checkout ${{ env.base_branch }}
python scripts/ci/release_version_cal.py
# echo "commit_message=$(cat ${{ env.output_file }})" >> $GITHUB_ENV
- name: Comment on the pull request
uses: mshick/add-pr-comment@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
message-id: versioncommentbot
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.
4 changes: 0 additions & 4 deletions scripts/ci/release_version_cal.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
from util import get_index_data


base_branch = os.environ.get('base_branch', None)
diff_branch = os.environ.get('diff_branch', None)
base_meta_path = os.environ.get('base_meta_path', None)
diff_meta_path = os.environ.get('diff_meta_path', None)
output_file = os.environ.get('output_file', None)
Expand Down Expand Up @@ -96,8 +94,6 @@ def main():
cli_ext_path = get_ext_repo_paths()[0]
print("get_cli_repo_path: ", get_cli_repo_path())
print("get_ext_repo_paths: ", cli_ext_path)
print("base_branch: ", base_branch)
print("diff_branch: ", diff_branch)
print("base_meta_path: ", base_meta_path)
print("diff_meta_path: ", diff_meta_path)
print("output_file: ", output_file)
Expand Down

0 comments on commit 05b97c8

Please sign in to comment.