Skip to content

fix(server): parse url safer in fetch adapter #17054

fix(server): parse url safer in fetch adapter

fix(server): parse url safer in fetch adapter #17054

Workflow file for this run

name: Examples E2E
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
e2e:
services:
postgres:
image: postgres
env:
POSTGRES_DATABASE: trpcdb
POSTGRES_USER: postgres
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
env:
NEXTAUTH_SECRET: supersecret
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
runs-on: ${{ matrix.os }}
timeout-minutes: 10
continue-on-error: true
strategy:
matrix:
dir:
[
.test/ssg,
.test/internal-types-export,
express-server,
express-minimal,
.interop/next-prisma-starter,
next-minimal-starter,
minimal-react,
fastify-server,
cloudflare-workers,
next-prisma-starter,
next-prisma-websockets-starter,
next-prisma-todomvc,
standalone-server,
.test/big-router-declaration,
soa,
vercel-edge-runtime,
.experimental/next-formdata,
.experimental/next-app-dir,
]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ matrix.dir }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-${{ matrix.dir }}-
- run: node -v
- name: Install deps (with cache)
run: pnpm --filter "./examples/${{ matrix.dir }}/**" --filter "@trpc/*" --filter "!@trpc/tests" --filter root install
- name: Install playwright ???
# Seems like some of playwright's system deps aren't being cached, so we're making sure they are installed
run: |
cat ./examples/${{ matrix.dir }}/package.json |
if grep --silent '"@playwright/test"';
then pnpm playwright install chromium;
fi
- name: Build trpc
run: pnpm turbo --filter "@trpc/*" build
- run: node -v
- name: Run test-dev
run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-dev
- name: Run build
run: pnpm turbo --filter ./examples/${{ matrix.dir }} build type-check
- name: Run test-start
run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-start
e2e-deno:
env:
NEXTAUTH_SECRET: supersecret
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
# TURBO_REMOTE_ONLY: true
runs-on: ${{ matrix.os }}
timeout-minutes: 10
continue-on-error: true
strategy:
matrix:
dir: [deno-deploy]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ matrix.dir }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-${{ matrix.dir }}-
- run: node -v
- name: Install deps (with cache)
run: pnpm --filter "./examples/${{ matrix.dir }}/**" --filter "@trpc/*" --filter "!@trpc/tests" --filter root install
- name: Build trpc
run: pnpm turbo --filter "@trpc/*" build
- run: deno --version
- name: run test
if: ${{ matrix.dir == 'deno-deploy' }}
run: |
cd ./examples/${{ matrix.dir }}
pnpm dlx start-server-and-test "deno run --allow-net=:8000 --allow-env ./src/index.ts" http://127.0.0.1:8000 "deno run --allow-net --allow-env ./src/client.ts"
e2e-bun:
env:
NEXTAUTH_SECRET: supersecret
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
# TURBO_REMOTE_ONLY: true
runs-on: ${{ matrix.os }}
timeout-minutes: 10
continue-on-error: true
strategy:
matrix:
dir: [bun]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ matrix.dir }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-${{ matrix.dir }}-
- run: node -v
- name: Install deps (with cache)
run: pnpm --filter "./examples/${{ matrix.dir }}/**" --filter "@trpc/*" --filter "!@trpc/tests" --filter root install
- name: Build trpc
run: pnpm turbo --filter "@trpc/*" build
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-start }}
cache: 'pnpm'
- run: bun --version
- name: Run test-dev
run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-dev
- name: Run build
run: pnpm turbo --filter ./examples/${{ matrix.dir }} build type-check
- name: Run test-start
run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-start
e2e-legacy-node:
services:
postgres:
image: postgres
env:
POSTGRES_DATABASE: trpcdb
POSTGRES_USER: postgres
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
env:
NEXTAUTH_SECRET: supersecret
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
runs-on: ${{ matrix.os }}
timeout-minutes: 10
continue-on-error: true
strategy:
matrix:
dir:
[
next-prisma-starter,
next-prisma-websockets-starter,
next-prisma-todomvc,
]
node-start: ['18.x']
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ matrix.dir }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-${{ matrix.dir }}-
- run: node -v
- name: Install deps (with cache)
run: pnpm --filter "./examples/${{ matrix.dir }}/**" --filter "@trpc/*" --filter "!@trpc/tests" --filter root install
- name: Build trpc
run: pnpm turbo --filter "@trpc/*" build
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-start }}
cache: 'pnpm'
- run: node -v
- name: Install deps (with cache)
run: pnpm --filter "./examples/${{ matrix.dir }}/**" --filter "@trpc/*" --filter "!@trpc/tests" --filter root install
- name: Install playwright ???
# Seems like some of playwright's system deps aren't being cached, so we're making sure they are installed
run: |
cat ./examples/${{ matrix.dir }}/package.json |
if grep --silent '"@playwright/test"';
then pnpm playwright install chromium;
fi
- name: Run test-dev
run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-dev
- name: Run build
run: pnpm turbo --filter ./examples/${{ matrix.dir }} build type-check
- name: Run test-start
run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-start