get github diff files (#446)

* get github diff files

* add github environment

---------

Co-authored-by: mulin.lyh <mulin.lyh@taobao.com>
This commit is contained in:
liuyhwangyh
2023-08-10 16:22:37 +08:00
committed by GitHub
parent e3abfe0564
commit 75a14a36ba
3 changed files with 29 additions and 9 deletions

View File

@@ -9,6 +9,10 @@ cpu_sets_arr=($cpu_sets)
is_get_file_lock=false
CI_COMMAND=${CI_COMMAND:-bash .dev_scripts/ci_container_test.sh python tests/run.py --parallel 2 --run_config tests/run_config.yaml}
echo "ci command: $CI_COMMAND"
PR_CHANGED_FILES="${PR_CHANGED_FILES:-''}"
echo "PR modified files: $PR_CHANGED_FILES"
PR_CHANGED_FILES=${PR_CHANGED_FILES//[ ]/#}
echo "PR_CHANGED_FILES: $PR_CHANGED_FILES"
idx=0
for gpu in $gpus
do
@@ -42,6 +46,7 @@ do
-e MODELSCOPE_ENVIRONMENT='ci' \
-e TEST_UPLOAD_MS_TOKEN=$TEST_UPLOAD_MS_TOKEN \
-e MODEL_TAG_URL=$MODEL_TAG_URL \
-e PR_CHANGED_FILES=$PR_CHANGED_FILES \
--workdir=$CODE_DIR_IN_CONTAINER \
${IMAGE_NAME}:${IMAGE_VERSION} \
$CI_COMMAND
@@ -64,6 +69,7 @@ do
-e MODELSCOPE_ENVIRONMENT='ci' \
-e TEST_UPLOAD_MS_TOKEN=$TEST_UPLOAD_MS_TOKEN \
-e MODEL_TAG_URL=$MODEL_TAG_URL \
-e PR_CHANGED_FILES=$PR_CHANGED_FILES \
--workdir=$CODE_DIR_IN_CONTAINER \
${IMAGE_NAME}:${IMAGE_VERSION} \
$CI_COMMAND

View File

@@ -52,10 +52,19 @@ jobs:
sudo chown -R $USER:$USER $ACTION_RUNNER_DIR
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: 'true'
submodules: 'true'
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }}
- name: Get changed files
id: changed-files
run: |
if ${{ github.event_name == 'pull_request' }}; then
echo "PR_CHANGED_FILES=$(git diff --name-only -r HEAD^1 HEAD | xargs)" >> $GITHUB_ENV
else
echo "PR_CHANGED_FILES=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_ENV
fi
- name: Checkout LFS objects
run: git lfs checkout
- name: Run unittest

View File

@@ -125,16 +125,21 @@ def get_current_branch():
def get_modified_files():
cmd = ['git', 'diff', '--name-only', 'origin/master...']
cmd_output = run_command_get_output(cmd)
logger.info('Modified files: ')
logger.info(cmd_output)
if 'PR_CHANGED_FILES' in os.environ and os.environ[
'PR_CHANGED_FILES'] != '':
logger.info('Getting PR modified files.')
# get modify file from environment
diff_files = os.environ['PR_CHANGED_FILES'].replace('#', '\n')
else:
cmd = ['git', 'diff', '--name-only', 'origin/master...']
diff_files = run_command_get_output(cmd)
logger.info('Diff files: ')
logger.info(diff_files)
modified_files = []
# remove the deleted file.
for diff_file in cmd_output.splitlines():
if os.path.exists(diff_file):
modified_files.append(diff_file)
for diff_file in diff_files.splitlines():
if os.path.exists(diff_file.strip()):
modified_files.append(diff_file.strip())
return modified_files