Merge pull request #1326 from paperclipai/ci/pr-e2e-tests
ci: run e2e tests on PRs
This commit is contained in:
69
.github/workflows/pr-e2e.yml
vendored
Normal file
69
.github/workflows/pr-e2e.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
name: PR E2E
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: pr-e2e-${{ github.event.pull_request.number }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
e2e:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup pnpm
|
||||||
|
uses: pnpm/action-setup@v4
|
||||||
|
with:
|
||||||
|
version: 9.15.4
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
cache: pnpm
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm build
|
||||||
|
|
||||||
|
- name: Install Playwright
|
||||||
|
run: npx playwright install --with-deps chromium
|
||||||
|
|
||||||
|
- name: Generate Paperclip config
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.paperclip/instances/default
|
||||||
|
cat > ~/.paperclip/instances/default/config.json << 'CONF'
|
||||||
|
{
|
||||||
|
"$meta": { "version": 1, "updatedAt": "2026-01-01T00:00:00.000Z", "source": "onboard" },
|
||||||
|
"database": { "mode": "embedded-postgres" },
|
||||||
|
"logging": { "mode": "file" },
|
||||||
|
"server": { "deploymentMode": "local_trusted", "host": "127.0.0.1", "port": 3100 },
|
||||||
|
"auth": { "baseUrlMode": "auto" },
|
||||||
|
"storage": { "provider": "local_disk" },
|
||||||
|
"secrets": { "provider": "local_encrypted", "strictMode": false }
|
||||||
|
}
|
||||||
|
CONF
|
||||||
|
|
||||||
|
- name: Run e2e tests
|
||||||
|
env:
|
||||||
|
PAPERCLIP_E2E_SKIP_LLM: "true"
|
||||||
|
run: pnpm run test:e2e
|
||||||
|
|
||||||
|
- name: Upload Playwright report
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: playwright-report
|
||||||
|
path: |
|
||||||
|
tests/e2e/playwright-report/
|
||||||
|
tests/e2e/test-results/
|
||||||
|
retention-days: 14
|
||||||
@@ -25,7 +25,7 @@ export default defineConfig({
|
|||||||
webServer: {
|
webServer: {
|
||||||
command: `pnpm paperclipai run`,
|
command: `pnpm paperclipai run`,
|
||||||
url: `${BASE_URL}/api/health`,
|
url: `${BASE_URL}/api/health`,
|
||||||
reuseExistingServer: !!process.env.CI,
|
reuseExistingServer: !process.env.CI,
|
||||||
timeout: 120_000,
|
timeout: 120_000,
|
||||||
stdout: "pipe",
|
stdout: "pipe",
|
||||||
stderr: "pipe",
|
stderr: "pipe",
|
||||||
|
|||||||
Reference in New Issue
Block a user