diff --git a/get-modified-packages/action.yaml b/get-modified-packages/action.yaml index 8b0ff808..4831af82 100644 --- a/get-modified-packages/action.yaml +++ b/get-modified-packages/action.yaml @@ -14,10 +14,14 @@ runs: git config --global --add safe.directory "$GITHUB_WORKSPACE" shell: bash + - name: Fetch the base branch with enough history for a common merge-base commit + run: | + git fetch origin ${{ github.event.pull_request.base.ref }} + - name: Get modified packages id: get-modified-packages run: | - echo "modified-packages=$(${GITHUB_ACTION_PATH}/get-modified-packages.sh ${{ github.event.pull_request.base.sha }})" >> $GITHUB_OUTPUT + echo "modified-packages=$(${GITHUB_ACTION_PATH}/get-modified-packages.sh origin/${{ github.event.pull_request.base.ref }})" >> $GITHUB_OUTPUT shell: bash - name: Show result diff --git a/get-modified-packages/get-modified-packages.sh b/get-modified-packages/get-modified-packages.sh index 4c3ccf6b..f0d8d266 100755 --- a/get-modified-packages/get-modified-packages.sh +++ b/get-modified-packages/get-modified-packages.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Search for packages that have been modified from the base sha. -# Usage: get-modified-packages.sh +# Search for packages that have been modified from the base ref. +# Usage: get-modified-packages.sh set -e @@ -15,11 +15,11 @@ while [ "${1-}" != "" ]; do shift done -base_sha="${args[0]}" +base_ref="${args[0]}" # Check args -if [ "$base_sha" = "" ]; then - echo -e "\e[31mPlease input a valid base_sha as the 1st argument.\e[m" +if [ "$base_ref" = "" ]; then + echo -e "\e[31mPlease input a valid base_ref as the 1st argument.\e[m" exit 1 fi @@ -49,8 +49,8 @@ function find_package_dir() { return 1 } -# Find modified files from base sha -modified_files=$(git diff --name-only "$base_sha"...HEAD) +# Find modified files from base ref +modified_files=$(git diff --name-only "$base_ref"...HEAD) # Find modified packages modified_package_dirs=()