From 3df9c1865191eaf38b407604574c13ba82f92f7a Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Fri, 24 Jun 2022 00:17:41 -0400 Subject: [PATCH] chore: improve error handling (#533) * chore: improve error handling * Update test.yml * Update test.yml * Update test.yml * Update test.yml * Update test.yml * Update diff-sha.sh * Update diff-sha.sh * updated command. * Updated message level. * Updated message. * Updated message. --- .github/workflows/test.yml | 10 ++++++++++ diff-sha.sh | 22 +++++++++++++++------- entrypoint.sh | 2 +- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2a49135c1f..275efa54910 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,6 +19,16 @@ jobs: uses: actions/checkout@v3 - name: shellcheck uses: reviewdog/action-shellcheck@v1.15 + + test-missing-git: + name: Test changed-files without git. + runs-on: self-hosted + + steps: + - name: Run changed-files with defaults + id: changed-files + continue-on-error: true + uses: ./ test-pull-requests-from-forks: name: Test changed-files diff on pull_requests from forks diff --git a/diff-sha.sh b/diff-sha.sh index 8f66dca21db..2ded6dd0679 100644 --- a/diff-sha.sh +++ b/diff-sha.sh @@ -9,12 +9,19 @@ if [[ -n $INPUT_PATH ]]; then echo "::debug::Resolving repository path: $REPO_DIR" if [[ ! -d "$REPO_DIR" ]]; then - echo "::warning::Invalid repository path: $REPO_DIR" + echo "::error::Invalid repository path: $REPO_DIR" exit 1 fi cd "$REPO_DIR" fi +git --version 1>/dev/null 2>&1 && exit_status=$? || exit_status=$? + +if [[ $exit_status -ne 0 ]]; then + echo "::error::git not installed" + exit 1 +fi + echo "::debug::Getting HEAD SHA..." if [[ -z $INPUT_SHA ]]; then @@ -26,8 +33,9 @@ fi git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$? if [[ $exit_status -ne 0 ]]; then - echo "::warning::Unable to locate the current sha: $CURRENT_SHA" - echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage" + echo "::error::Unable to locate the current sha: $CURRENT_SHA" + git --version + echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage" exit 1 fi @@ -53,8 +61,8 @@ if [[ -z $GITHUB_BASE_REF ]]; then git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$? if [[ $exit_status -ne 0 ]]; then - echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA" - echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage" + echo "::error::Unable to locate the previous sha: $PREVIOUS_SHA" + echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage" exit 1 fi else @@ -80,8 +88,8 @@ else git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$? if [[ $exit_status -ne 0 ]]; then - echo "::warning::Unable to locate the previous sha: $PREVIOUS_SHA" - echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage" + echo "::error::Unable to locate the previous sha: $PREVIOUS_SHA" + echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage" exit 1 fi fi diff --git a/entrypoint.sh b/entrypoint.sh index 716cb88bd18..546bd70933e 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -71,7 +71,7 @@ if [[ -n $INPUT_PATH ]]; then echo "::debug::Resolving repository path: $REPO_DIR" if [[ ! -d "$REPO_DIR" ]]; then - echo "::warning::Invalid repository path: $REPO_DIR" + echo "::error::Invalid repository path: $REPO_DIR" exit 1 fi cd "$REPO_DIR"