Unify git changed files check.

This commit is contained in:
Toha
2026-07-29 17:38:53 +00:00
parent 782bf8fa89
commit dc8b6343b9
+19 -25
View File
@@ -20,34 +20,28 @@ jobs:
run: |
git fetch origin master:master
ANY_CHANGED=false
JS_ANY_CHANGED=false
JS_ALL_CHANGED_FILES=$(git diff --diff-filter=ACMRT --name-only master -- tests/**/*.js tests/**/*.ts scripts/**/*.js scripts/**/*.mts scripts/**/*.ts sites/**/*.js sites/**/*.ts | tr '\n' ' ')
if [ -n "${JS_ALL_CHANGED_FILES}" ]; then
JS_ANY_CHANGED=true
ANY_CHANGED=true
fi
echo "js_all_changed_files=$JS_ALL_CHANGED_FILES" >> "$GITHUB_OUTPUT"
echo "js_any_changed=$JS_ANY_CHANGED" >> "$GITHUB_OUTPUT"
CHANNELS_ANY_CHANGED=false
CHANNELS_ALL_CHANGED_FILES=$(git diff --diff-filter=ACMRT --name-only master -- sites/**/*.channels.xml | tr '\n' ' ')
if [ -n "${CHANNELS_ALL_CHANGED_FILES}" ]; then
CHANNELS_ANY_CHANGED=true
ANY_CHANGED=true
fi
echo "channels_all_changed_files=$CHANNELS_ALL_CHANGED_FILES" >> "$GITHUB_OUTPUT"
echo "channels_any_changed=$CHANNELS_ANY_CHANGED" >> "$GITHUB_OUTPUT"
echo "any_changed=$ANY_CHANGED" >> "$GITHUB_OUTPUT"
WORKERS_ANY_CHANGED=false
WORKERS_CHANGED_FILES=$(git diff --diff-filter=ACMRT --name-only master -- workers.txt | tr '\n' ' ')
if [ -n "${WORKERS_CHANGED_FILES}" ]; then
WORKERS_ANY_CHANGED=true
ANY_CHANGED=true
fi
echo "workers_any_changed=$WORKERS_ANY_CHANGED" >> "$GITHUB_OUTPUT"
JS_FILES="tests/**/*.js tests/**/*.ts scripts/**/*.js scripts/**/*.mts scripts/**/*.ts sites/**/*.js sites/**/*.ts"
CHANNELS_FILES="sites/**/*.channels.xml"
WORKERS_FILES="workers.txt"
for PREFIX in JS CHANNELS WORKERS; do
CHANGED_FILES_VAR="${PREFIX}_FILES"
CHANGED_FILES_PATTERN=${!CHANGED_FILES_VAR}
if [ -n "${CHANGED_FILES_PATTERN}" ]; then
HAS_CHANGES=false
CHANGED_FILES=$(git diff --diff-filter=ACMRT --name-only master -- ${CHANGED_FILES_PATTERN} | tr '\n' ' ')
if [ -n "${CHANGED_FILES}" ]; then
ANY_CHANGED=true
HAS_CHANGES=true
echo "${PREFIX,,}_all_changed_files=${CHANGED_FILES}" >> "${GITHUB_OUTPUT}"
fi
echo "${PREFIX,,}_any_changed=${HAS_CHANGES}" >> "${GITHUB_OUTPUT}"
fi
done
echo "any_changed=${ANY_CHANGED}" >> "${GITHUB_OUTPUT}"
- uses: actions/setup-node@v4
if: steps.files.outputs.any_changed == 'true'
with:
node-version: 22
node-version: 24
cache: 'npm'
- name: Install dependencies
if: steps.files.outputs.any_changed == 'true'