diff --git a/.github/workflows/test-webapp.yml b/.github/workflows/test-webapp.yml index 8f84fc34c..bdb75f222 100644 --- a/.github/workflows/test-webapp.yml +++ b/.github/workflows/test-webapp.yml @@ -4,8 +4,27 @@ name: ocelot.social webapp test CI on: [push] jobs: + files-changed: + name: Detect File Changes - Backend + runs-on: ubuntu-latest + outputs: + docker: ${{ steps.changes.outputs.docker }} + webbapp: ${{ steps.changes.outputs.webbapp }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + prepare: name: Prepare + if: needs.files-changed.outputs.webbapp + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -18,8 +37,9 @@ jobs: build_test_webapp: name: Docker Build Test - WebApp + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webbapp + needs: [files-changed, prepare] runs-on: ubuntu-latest - needs: [prepare] steps: - name: Checkout code uses: actions/checkout@v3 @@ -37,6 +57,8 @@ jobs: lint_webapp: name: Lint webapp + if: needs.files-changed.outputs.webbapp + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code @@ -47,8 +69,9 @@ jobs: unit_test_webapp: name: Unit tests - webapp + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.webbapp + needs: [files-changed, build_test_webapp] runs-on: ubuntu-latest - needs: [build_test_webapp] permissions: checks: write steps: