name: 'PR Preview: Build'
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: write
pull-requests: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
detect-changes:
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
client: ${{ steps.filter.outputs.client }}
vscode-plugin: ${{ steps.filter.outputs.vscode-plugin }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
client:
- 'packages/cherry-markdown/**'
- 'packages/client/**'
vscode-plugin:
- 'packages/cherry-markdown/**'
- 'packages/vscodePlugin/**'
playground:
uses: ./.github/workflows/reusable-playground-build.yml
client:
needs: detect-changes
if: needs.detect-changes.outputs.client == 'true'
uses: ./.github/workflows/reusable-client-build.yml
with:
mode: preview
vscode-plugin:
needs: detect-changes
if: needs.detect-changes.outputs.vscode-plugin == 'true'
uses: ./.github/workflows/reusable-vscode-plugin.yml
with:
mode: package
pr_number: ${{ github.event.pull_request.number }}