From fd7c92ebb161049764313fd1148171eb3e7a8a51 Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 12 Mar 2025 21:06:25 +0100 Subject: [PATCH] ci: update CI workflow to check for changed files --- .gitea/workflows/ci.yml | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0a64d78..792fca9 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -2,15 +2,33 @@ name: CI on: pull_request: - paths: - - 'backend/**' - - 'frontend/**' - - '.gitea/workflows/ci.yml' jobs: + changed_files: + name: Get Changed Files + runs-on: ubuntu-latest + outputs: + backend: ${{ steps.filter.outputs.backend }} + frontend: ${{ steps.filter.outputs.frontend }} + workflow: ${{ steps.filter.outputs.workflow }} + steps: + - uses: actions/checkout@v4 + - name: Check for file changes + uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + backend: + - 'backend/**' + frontend: + - 'frontend/**' + workflow: + - '.gitea/workflows/**' + checkstyle: name: "Checkstyle Main" - if: ${{ contains(github.event.pull_request.changed_files_json, 'backend/') || contains(github.event.pull_request.changed_files_json, '.gitea/workflows/ci.yml') }} + needs: changed_files + if: ${{ needs.changed_files.outputs.backend == 'true' || needs.changed_files.outputs.workflow == 'true' }} container: image: "cimg/openjdk:23.0-node" steps: @@ -37,7 +55,8 @@ jobs: eslint: name: eslint - if: ${{ contains(github.event.pull_request.changed_files_json, 'frontend/') || contains(github.event.pull_request.changed_files_json, '.gitea/workflows/ci.yml') }} + needs: changed_files + if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} container: image: catthehacker/ubuntu:act-latest steps: @@ -64,7 +83,8 @@ jobs: prettier: name: prettier - if: ${{ contains(github.event.pull_request.changed_files_json, 'frontend/') || contains(github.event.pull_request.changed_files_json, '.gitea/workflows/ci.yml') }} + needs: changed_files + if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} container: image: catthehacker/ubuntu:act-latest steps: @@ -91,7 +111,8 @@ jobs: test-build: name: test-build - if: ${{ contains(github.event.pull_request.changed_files_json, 'frontend/') || contains(github.event.pull_request.changed_files_json, '.gitea/workflows/ci.yml') }} + needs: changed_files + if: ${{ needs.changed_files.outputs.frontend == 'true' || needs.changed_files.outputs.workflow == 'true' }} container: image: catthehacker/ubuntu:act-latest steps: