diff --git a/.github/workflows/sdk-typecheck.yml b/.github/workflows/sdk-typecheck.yml new file mode 100644 index 00000000..02829948 --- /dev/null +++ b/.github/workflows/sdk-typecheck.yml @@ -0,0 +1,56 @@ +name: SDK Typecheck + +on: + pull_request: + paths: + - 'openapi/video-openapi-clientside.yaml' + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + video-sdk-typecheck: + name: Video SDK Typecheck + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + path: protocol + + - name: Compile definitions + run: | + docker run --rm \ + -v $(pwd)/protocol:/local openapitools/openapi-generator-cli generate \ + -i /local/openapi/video-openapi-clientside.yaml \ + -g typescript-fetch \ + -o /local/ts-sdk \ + --additional-properties=supportsES6=true \ + --additional-properties=modelPropertyNaming=original \ + --additional-properties=enumPropertyNaming=UPPERCASE \ + --additional-properties=withoutRuntimeChecks=true + + - name: Checkout SDK + uses: actions/checkout@v4 + with: + repository: 'GetStream/stream-video-js' + path: stream-video-js + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20.x + cache: 'yarn' + cache-dependency-path: stream-video-js/yarn.lock + + - name: Install SDK dependencies and sneak in updated types + working-directory: stream-video-js + run: | + yarn install --immutable + rm -r packages/client/src/gen/coordinator + cp -r ../protocol/ts-sdk packages/client/src/gen/coordinator + + - name: Typecheck + working-directory: stream-video-js + run: yarn run build:client diff --git a/openapi/video-openapi-clientside.yaml b/openapi/video-openapi-clientside.yaml index a64c1373..cbaf4c3e 100644 --- a/openapi/video-openapi-clientside.yaml +++ b/openapi/video-openapi-clientside.yaml @@ -4330,6 +4330,7 @@ components: required: - width - height + - bitrate type: object Thresholds: description: Sets thresholds for AI moderation