diff --git a/scripts/modified-files.sh b/scripts/modified-files.sh new file mode 100755 index 0000000..57bfe9e --- /dev/null +++ b/scripts/modified-files.sh @@ -0,0 +1,23 @@ +if [ -z "$BASH" ]; then + echo Bash not installed. + exit 1 +fi +git status >/dev/null 2>&1 || { echo >&2 "Not in a git directory or no git"; exit 1; } + +mkdir -p /tmp/swissknife +touch /tmp/swissknife/modified_files.txt + +FILES_MODIFIED="" +get_modified_files() { + FILES_MODIFIED="" + FILES_MODIFIED=$(git diff --name-only $(git merge-base HEAD origin/${BASE_BRANCH})..HEAD) +} + +get_modified_files +if [ -z "$FILES_MODIFIED" ] +then + echo "Files not modified" +else + echo "$FILES_MODIFIED" >> /tmp/swissknife/modified_files.txt + cat /tmp/swissknife/modified_files.txt +fi diff --git a/src/commands/modified-files.yml b/src/commands/modified-files.yml index 2873d94..6732ed2 100644 --- a/src/commands/modified-files.yml +++ b/src/commands/modified-files.yml @@ -9,29 +9,7 @@ parameters: default: master steps: - run: - name: Swissknife - Get Changed Files - command: | - if [ -z "$BASH" ]; then - echo Bash not installed. - exit 1 - fi - git status >/dev/null 2>&1 || { echo >&2 "Not in a git directory or no git"; exit 1; } - - mkdir -p /tmp/swissknife - touch /tmp/swissknife/modified_files.txt - - FILES_MODIFIED="" - get_modified_files() { - FILES_MODIFIED="" - FILES_MODIFIED=$(git diff --name-only $(git merge-base HEAD origin/<< parameters.base-branch >>)..HEAD) - } - - get_modified_files() - if [ -z "$FILES_MODIFIED" ] - then - echo "Files not modified" - else - echo "$FILES_MODIFIED" >> /tmp/swissknife/modified_files.txt - cat /tmp/swissknife/modified_files.txt - fi - + name: Swissknife - Get Modified Files + environment: + BASE_BRANCH: << parameters.base-branch >> + command: << include(../scripts/modified-files.sh) >>