generated from karsten.jeppesen/KAJE-Template
Initial commit
All checks were successful
DMA-CSD-CICD/Tobias.Walsted/pipeline/head This commit looks good
All checks were successful
DMA-CSD-CICD/Tobias.Walsted/pipeline/head This commit looks good
This commit is contained in:
33
.workflow/get_changed_files.sh
Normal file
33
.workflow/get_changed_files.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
OUT_FILE="${1:-changed_files.txt}"
|
||||
touch "$OUT_FILE"
|
||||
|
||||
# Fetch quietly; repo might be shallow in CI
|
||||
git fetch --all --quiet || true
|
||||
|
||||
if [[ -n "${CHANGE_TARGET:-}" ]]; then
|
||||
# Multibranch PR build: compare against target branch
|
||||
git fetch origin "${CHANGE_TARGET}" --quiet || true
|
||||
BASE="origin/${CHANGE_TARGET}"
|
||||
echo "[INFO] PR build detected, diffing against ${BASE}..."
|
||||
git diff --name-only --diff-filter=ACMRT "${BASE}...HEAD" > "$OUT_FILE" || true
|
||||
else
|
||||
# Branch build: diff from previous successful commit (best effort), else last commit
|
||||
if [[ -n "${GIT_PREVIOUS_SUCCESSFUL_COMMIT:-}" ]]; then
|
||||
BASE="${GIT_PREVIOUS_SUCCESSFUL_COMMIT}"
|
||||
echo "[INFO] Diffing against previous successful commit ${BASE}..."
|
||||
git diff --name-only --diff-filter=ACMRT "${BASE}" "HEAD" > "$OUT_FILE" || true
|
||||
else
|
||||
echo "[INFO] No previous successful commit found; using last commit diff (HEAD~1..HEAD)..."
|
||||
git diff --name-only --diff-filter=ACMRT "HEAD~1" "HEAD" > "$OUT_FILE" || true
|
||||
fi
|
||||
fi
|
||||
|
||||
# Clean blank lines, ensure file exists
|
||||
sed -i '/^\s*$/d' "$OUT_FILE" || true
|
||||
touch "$OUT_FILE"
|
||||
|
||||
COUNT=$(wc -l < "$OUT_FILE" | tr -d ' ')
|
||||
echo "[INFO] Changed files: ${COUNT}"
|
||||
Reference in New Issue
Block a user