fix(webapp,clickhouse): keep the rest of a ClickHouse batch when one run or span has un-ingestable JSON #8836
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 🤖 PR Checks | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: warp-ubuntu-latest-x64-2x | |
| outputs: | |
| code: ${{ steps.code_filter.outputs.code }} | |
| typecheck_self: ${{ steps.filter.outputs.typecheck_self }} | |
| webapp: ${{ steps.filter.outputs.webapp }} | |
| packages: ${{ steps.filter.outputs.packages }} | |
| internal: ${{ steps.filter.outputs.internal }} | |
| cli: ${{ steps.filter.outputs.cli }} | |
| sdk: ${{ steps.filter.outputs.sdk }} | |
| steps: | |
| # `code` uses `every` semantics so the negation patterns actually subtract. | |
| # With the default `some` quantifier, `**` matches every file and the | |
| # subsequent `!...` patterns are no-ops (each pattern is OR'd, not AND'd). | |
| - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 | |
| id: code_filter | |
| with: | |
| predicate-quantifier: every | |
| filters: | | |
| code: | |
| - '**' | |
| - '!docs/**' | |
| - '!.changeset/**' | |
| - '!hosting/**' | |
| - '!.github/**' | |
| - '!**/*.md' | |
| - '!**/.env.example' | |
| - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 | |
| id: filter | |
| with: | |
| filters: | | |
| typecheck_self: | |
| - '.github/workflows/pr_checks.yml' | |
| - '.github/workflows/typecheck.yml' | |
| - '.github/workflows/code-quality.yml' | |
| webapp: | |
| - 'apps/webapp/**' | |
| - 'packages/**' | |
| - 'internal-packages/**' | |
| - '.github/workflows/pr_checks.yml' | |
| - '.github/workflows/unit-tests-webapp.yml' | |
| - '.github/workflows/e2e-webapp.yml' | |
| - '.github/workflows/runops-guard.yml' | |
| - '.configs/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'turbo.json' | |
| packages: | |
| - 'packages/**' | |
| - '.github/workflows/pr_checks.yml' | |
| - '.github/workflows/unit-tests-packages.yml' | |
| - '.configs/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'turbo.json' | |
| internal: | |
| - 'internal-packages/**' | |
| - 'packages/**' | |
| - '.github/workflows/pr_checks.yml' | |
| - '.github/workflows/unit-tests-internal.yml' | |
| - '.configs/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'turbo.json' | |
| cli: | |
| - 'packages/cli-v3/**' | |
| - 'packages/build/**' | |
| - 'packages/core/**' | |
| - 'packages/schema-to-json/**' | |
| - '.github/workflows/pr_checks.yml' | |
| - '.github/workflows/e2e.yml' | |
| - '.configs/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'turbo.json' | |
| sdk: | |
| - 'packages/trigger-sdk/**' | |
| - 'packages/core/**' | |
| - '.github/workflows/pr_checks.yml' | |
| - '.github/workflows/sdk-compat.yml' | |
| - '.configs/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'turbo.json' | |
| code-quality: | |
| uses: ./.github/workflows/code-quality.yml | |
| typecheck: | |
| needs: changes | |
| if: needs.changes.outputs.code == 'true' || needs.changes.outputs.typecheck_self == 'true' | |
| uses: ./.github/workflows/typecheck.yml | |
| runops-guard: | |
| needs: changes | |
| if: needs.changes.outputs.webapp == 'true' | |
| uses: ./.github/workflows/runops-guard.yml | |
| webapp: | |
| needs: changes | |
| if: needs.changes.outputs.webapp == 'true' | |
| uses: ./.github/workflows/unit-tests-webapp.yml | |
| secrets: | |
| DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
| DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | |
| e2e-webapp: | |
| needs: changes | |
| if: needs.changes.outputs.webapp == 'true' | |
| uses: ./.github/workflows/e2e-webapp.yml | |
| secrets: | |
| DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
| DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | |
| packages: | |
| needs: changes | |
| if: needs.changes.outputs.packages == 'true' | |
| uses: ./.github/workflows/unit-tests-packages.yml | |
| secrets: | |
| DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
| DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | |
| internal: | |
| needs: changes | |
| if: needs.changes.outputs.internal == 'true' | |
| uses: ./.github/workflows/unit-tests-internal.yml | |
| secrets: | |
| DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} | |
| DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | |
| e2e: | |
| needs: changes | |
| if: needs.changes.outputs.cli == 'true' | |
| uses: ./.github/workflows/e2e.yml | |
| with: | |
| package: cli-v3 | |
| sdk-compat: | |
| needs: changes | |
| if: needs.changes.outputs.sdk == 'true' | |
| uses: ./.github/workflows/sdk-compat.yml | |
| all-checks: | |
| name: All PR Checks | |
| needs: | |
| - changes | |
| - code-quality | |
| - typecheck | |
| - runops-guard | |
| - webapp | |
| - e2e-webapp | |
| - packages | |
| - internal | |
| - e2e | |
| - sdk-compat | |
| if: always() | |
| runs-on: warp-ubuntu-latest-x64-2x | |
| steps: | |
| - name: Verify all checks | |
| run: | | |
| if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then | |
| echo "One or more checks failed" | |
| exit 1 | |
| fi | |
| if [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
| echo "One or more checks were cancelled" | |
| exit 1 | |
| fi | |
| echo "All checks passed or were skipped due to path filters" |