Skip to content

feat: implement private subscription import with privacy mode #2

feat: implement private subscription import with privacy mode

feat: implement private subscription import with privacy mode #2

Workflow file for this run

name: TypeScript Check

Check failure on line 1 in .github/workflows/typecheck.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/typecheck.yml

Invalid workflow file

(Line: 58, Col: 9): Unrecognized named-value: 'matrix'. Located at position 52 within expression: needs.changes.outputs.force_full_run == 'true' || (matrix.package == 'backend' && needs.changes.outputs.backend == 'true') || (matrix.package == 'client' && needs.changes.outputs.client == 'true') || (matrix.package == 'sdk' && needs.changes.outputs.sdk == 'true') || (matrix.package == 'shared' && needs.changes.outputs.shared == 'true') || (matrix.package == 'root' && (needs.changes.outputs.backend [...]
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
inputs:
force_full_run:
description: "Force a full typecheck run"
type: boolean
default: false
jobs:
changes:
runs-on: ubuntu-latest
outputs:
backend: ${{ steps.filter.outputs.backend }}
client: ${{ steps.filter.outputs.client }}
sdk: ${{ steps.filter.outputs.sdk }}
shared: ${{ steps.filter.outputs.shared }}
root: ${{ steps.filter.outputs.root }}
force_full_run: ${{ github.event.inputs.force_full_run || 'false' }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
backend:
- 'backend/**'
- 'shared/**'
client:
- 'client/**'
- 'shared/**'
sdk:
- 'sdk/**'
- 'shared/**'
shared:
- 'shared/**'
root:
- 'app/**'
- 'scripts/**'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
typecheck:
name: Typecheck (${{ matrix.package }})
runs-on: ubuntu-latest
needs: changes
strategy:
fail-fast: false
matrix:
package: [backend, client, sdk, shared, root]
if: |
needs.changes.outputs.force_full_run == 'true' ||
(matrix.package == 'backend' && needs.changes.outputs.backend == 'true') ||
(matrix.package == 'client' && needs.changes.outputs.client == 'true') ||
(matrix.package == 'sdk' && needs.changes.outputs.sdk == 'true') ||
(matrix.package == 'shared' && needs.changes.outputs.shared == 'true') ||
(matrix.package == 'root' && (needs.changes.outputs.backend == 'true' || needs.changes.outputs.client == 'true' || needs.changes.outputs.sdk == 'true' || needs.changes.outputs.shared == 'true' || needs.changes.outputs.root == 'true'))
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm install
- name: Run Typecheck
run: |
if [ "${{ matrix.package }}" = "root" ]; then
npm run typecheck:root
else
npm run typecheck -w ${{ matrix.package }}
fi