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: | run: |
git fetch origin master:master git fetch origin master:master
ANY_CHANGED=false ANY_CHANGED=false
JS_ANY_CHANGED=false JS_FILES="tests/**/*.js tests/**/*.ts scripts/**/*.js scripts/**/*.mts scripts/**/*.ts sites/**/*.js sites/**/*.ts"
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' ' ') CHANNELS_FILES="sites/**/*.channels.xml"
if [ -n "${JS_ALL_CHANGED_FILES}" ]; then WORKERS_FILES="workers.txt"
JS_ANY_CHANGED=true for PREFIX in JS CHANNELS WORKERS; do
ANY_CHANGED=true CHANGED_FILES_VAR="${PREFIX}_FILES"
fi CHANGED_FILES_PATTERN=${!CHANGED_FILES_VAR}
echo "js_all_changed_files=$JS_ALL_CHANGED_FILES" >> "$GITHUB_OUTPUT" if [ -n "${CHANGED_FILES_PATTERN}" ]; then
echo "js_any_changed=$JS_ANY_CHANGED" >> "$GITHUB_OUTPUT" HAS_CHANGES=false
CHANNELS_ANY_CHANGED=false CHANGED_FILES=$(git diff --diff-filter=ACMRT --name-only master -- ${CHANGED_FILES_PATTERN} | tr '\n' ' ')
CHANNELS_ALL_CHANGED_FILES=$(git diff --diff-filter=ACMRT --name-only master -- sites/**/*.channels.xml | tr '\n' ' ') if [ -n "${CHANGED_FILES}" ]; then
if [ -n "${CHANNELS_ALL_CHANGED_FILES}" ]; then ANY_CHANGED=true
CHANNELS_ANY_CHANGED=true HAS_CHANGES=true
ANY_CHANGED=true echo "${PREFIX,,}_all_changed_files=${CHANGED_FILES}" >> "${GITHUB_OUTPUT}"
fi fi
echo "channels_all_changed_files=$CHANNELS_ALL_CHANGED_FILES" >> "$GITHUB_OUTPUT" echo "${PREFIX,,}_any_changed=${HAS_CHANGES}" >> "${GITHUB_OUTPUT}"
echo "channels_any_changed=$CHANNELS_ANY_CHANGED" >> "$GITHUB_OUTPUT" fi
echo "any_changed=$ANY_CHANGED" >> "$GITHUB_OUTPUT" done
WORKERS_ANY_CHANGED=false echo "any_changed=${ANY_CHANGED}" >> "${GITHUB_OUTPUT}"
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"
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
if: steps.files.outputs.any_changed == 'true' if: steps.files.outputs.any_changed == 'true'
with: with:
node-version: 22 node-version: 24
cache: 'npm' cache: 'npm'
- name: Install dependencies - name: Install dependencies
if: steps.files.outputs.any_changed == 'true' if: steps.files.outputs.any_changed == 'true'