name: Harness and Remotion integration on: pull_request: workflow_dispatch: release: types: [published] permissions: contents: read jobs: render: runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Check out plugin uses: actions/checkout@v7 with: path: remotion-video-plugin - name: Check out DeepSeek Harness uses: actions/checkout@v7 with: repository: deepseek-ai/deepseek-harness path: deepseek-harness - uses: actions/setup-node@v7 with: node-version: 22.22.0 cache: npm cache-dependency-path: | remotion-video-plugin/package-lock.json remotion-video-plugin/demo/package-lock.json - name: Enable Harness package manager working-directory: deepseek-harness run: corepack enable - name: Install and build Harness working-directory: deepseek-harness run: | pnpm install --frozen-lockfile pnpm run build:lib:host - name: Install plugin and demo working-directory: remotion-video-plugin run: | npm ci npm --prefix demo ci - name: Run real registry, subprocess, still, and video smoke working-directory: remotion-video-plugin env: DEEPSEEK_HARNESS_CHECKOUT: ${{ github.workspace }}/deepseek-harness REMOTION_BROWSER_EXECUTABLE: /usr/bin/google-chrome run: npm run test:e2e - name: Upload render evidence if: success() uses: actions/upload-artifact@v6 with: name: remotion-tool-smoke-${{ github.sha }} path: | remotion-video-plugin/demo/out/tool-smoke.png remotion-video-plugin/demo/out/tool-smoke.mp4 if-no-files-found: error retention-days: 14