utilize file filters in webapp test workflows

This commit is contained in:
mahula 2023-03-17 13:57:49 +01:00
parent f9c1315ab3
commit 70d75600ee

View File

@ -4,8 +4,27 @@ name: ocelot.social webapp test CI
on: [push] on: [push]
jobs: 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: prepare:
name: Prepare name: Prepare
if: needs.files-changed.outputs.webbapp
needs: files-changed
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
@ -18,8 +37,9 @@ jobs:
build_test_webapp: build_test_webapp:
name: Docker 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 runs-on: ubuntu-latest
needs: [prepare]
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -37,6 +57,8 @@ jobs:
lint_webapp: lint_webapp:
name: Lint webapp name: Lint webapp
if: needs.files-changed.outputs.webbapp
needs: files-changed
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
@ -47,8 +69,9 @@ jobs:
unit_test_webapp: unit_test_webapp:
name: Unit tests - 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 runs-on: ubuntu-latest
needs: [build_test_webapp]
permissions: permissions:
checks: write checks: write
steps: steps: