diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2a49135..275efa54 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 8f66dca2..2ded6dd0 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 716cb88b..546bd709 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"