Compare commits

...

5 commits

Author SHA1 Message Date
Oskar Kapala 88ffab434c ci: derive changed files from commit
All checks were successful
ci / changes (push) Successful in 2s
ci / backend (push) Successful in 1m47s
ci / flutter (push) Successful in 1m7s
2026-01-16 15:56:03 +01:00
Oskar Kapala 081d885242 ci: improve change detection by event
Some checks failed
ci / changes (push) Successful in 3s
ci / backend (push) Successful in 1m49s
ci / flutter (push) Has been cancelled
2026-01-16 15:54:08 +01:00
Oskar Kapala b87c0b0221 ci: fetch more history for diff
Some checks failed
ci / changes (push) Successful in 3s
ci / backend (push) Has been cancelled
ci / flutter (push) Has been cancelled
2026-01-16 15:52:32 +01:00
Oskar Kapala a477e1ff54 ci: avoid python in change detection
Some checks failed
ci / changes (push) Successful in 3s
ci / backend (push) Successful in 2m1s
ci / flutter (push) Has been cancelled
2026-01-16 15:49:40 +01:00
Oskar Kapala b94705e1c0 ci: replace paths filter action
Some checks failed
ci / changes (push) Failing after 3s
ci / backend (push) Has been skipped
ci / flutter (push) Has been skipped
2026-01-16 15:40:24 +01:00

View file

@ -14,19 +14,50 @@ jobs:
runs-on: docker
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- id: filter
uses: dorny/paths-filter@v3
with:
filters: |
backend:
- 'back001/**'
- '.forgejo/workflows/**'
- 'ci/**'
frontend:
- 'front001/**'
- '.forgejo/workflows/**'
- 'ci/**'
name: Detect changes
run: |
set -euo pipefail
git fetch --quiet --depth=1 origin "${GITHUB_BASE_REF:-}" || true
files=""
if [ "${GITHUB_EVENT_NAME:-}" = "pull_request" ] && [ -n "${GITHUB_BASE_REF:-}" ]; then
base_ref="origin/${GITHUB_BASE_REF}"
if git rev-parse --verify "$base_ref" >/dev/null 2>&1; then
files="$(git diff --name-only "$base_ref"...HEAD)" || true
else
files=""
fi
fi
if [ -z "$files" ]; then
if [ -n "${GITHUB_SHA:-}" ]; then
files="$(git show --name-only --pretty= "${GITHUB_SHA}")"
else
files="$(git show --name-only --pretty= HEAD)"
fi
fi
backend=false
frontend=false
while IFS= read -r path; do
case "$path" in
back001/*|.forgejo/workflows/*|ci/*) backend=true ;;
esac
case "$path" in
front001/*|.forgejo/workflows/*|ci/*) frontend=true ;;
esac
done <<EOF
$files
EOF
{
echo "backend=$backend"
echo "frontend=$frontend"
} >> "$GITHUB_OUTPUT"
outputs:
backend: ${{ steps.filter.outputs.backend }}
frontend: ${{ steps.filter.outputs.frontend }}