name: files-changed on: workflow_call: outputs: backend: description: "whether backend files changed" value: ${{ jobs.detect.outputs.backend }} frontend: description: "whether frontend files changed" value: ${{ jobs.detect.outputs.frontend }} docs: description: "whether docs files changed" value: ${{ jobs.detect.outputs.docs }} actions: description: "whether actions files changed" value: ${{ jobs.detect.outputs.actions }} templates: description: "whether templates files changed" value: ${{ jobs.detect.outputs.templates }} jobs: detect: name: detect which files changed runs-on: ubuntu-latest timeout-minutes: 3 # Map a step output to a job output outputs: backend: ${{ steps.changes.outputs.backend }} frontend: ${{ steps.changes.outputs.frontend }} docs: ${{ steps.changes.outputs.docs }} actions: ${{ steps.changes.outputs.actions }} templates: ${{ steps.changes.outputs.templates }} steps: - uses: actions/checkout@v3 - uses: dorny/paths-filter@v2 id: changes with: filters: | backend: - "**/*.go" - "templates/**/*.tmpl" - "go.mod" - "go.sum" frontend: - "**/*.js" - "web_src/**" - "package.json" - "package-lock.json" docs: - "**/*.md" - "docs/**" actions: - ".github/workflows/*" templates: - "templates/**/*.tmpl" - "poetry.lock"