Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
e684a00
feat(h3): migrate servers to Photon stack
magne4000 Sep 9, 2025
a2329e8
chore
magne4000 Sep 10, 2025
6bae1c1
chore
magne4000 Sep 10, 2025
aae0939
refactor: create common photon package
magne4000 Sep 10, 2025
fe20e10
refactor: create common photon package
magne4000 Sep 10, 2025
8424144
refactor
magne4000 Sep 10, 2025
2448bb9
refactor(hono): migrate to Photon stack
magne4000 Sep 10, 2025
3964dc6
refactor(cloudflare): migrate to Photon stack
magne4000 Sep 10, 2025
12d7646
refactor(express): migrate to Photon stack
magne4000 Sep 10, 2025
4800355
refactor(express): migrate to Photon stack
magne4000 Sep 10, 2025
9352551
test: add support for negation in tests filter
magne4000 Sep 10, 2025
0380cc8
refactor(fastify): migrate to Photon stack
magne4000 Sep 10, 2025
6a8b968
refactor(fastify): migrate to Photon stack
magne4000 Sep 10, 2025
08038f7
fix: update ERROR_CLOUDFLARE_R_COMPAT_SERVER rule
magne4000 Sep 10, 2025
4bc541d
fix: update ERROR_CLOUDFLARE_R_COMPAT_SERVER rule
magne4000 Sep 10, 2025
15cac6d
fix: aws
magne4000 Sep 10, 2025
ac30196
fix: vue +config type
magne4000 Sep 10, 2025
845b769
fix: only speficy photon.server when there is actually an overload
magne4000 Sep 10, 2025
68be279
fix: upgrade photon
magne4000 Sep 11, 2025
48e8583
fix: make cloudflare +h3 work
magne4000 Sep 11, 2025
e812e64
feat: remove cross-env
magne4000 Sep 11, 2025
8396d4e
test: add more tests
magne4000 Sep 11, 2025
633da82
chore
magne4000 Sep 11, 2025
a5c03c3
feat: initial support for vike-vercel
magne4000 Sep 11, 2025
0bf6804
fix: upgrade deps
magne4000 Sep 12, 2025
fbfd298
chore: bump vike-photon
magne4000 Sep 16, 2025
bf7162a
chore: bump vike-photon
magne4000 Sep 16, 2025
fcc2630
chore: bump vike-photon
magne4000 Sep 16, 2025
a5bcb77
test: retry cloudflare tests
magne4000 Sep 16, 2025
e63cfe6
chore: add comment for ts-rest handler
magne4000 Sep 17, 2025
ebd236b
feat: Photon README
magne4000 Sep 17, 2025
5532af3
chore: upgrade deps
magne4000 Sep 17, 2025
4f0ca3d
chore
magne4000 Sep 17, 2025
0586ebe
chore: various tweaks (bun, auth0)
magne4000 Sep 17, 2025
8adbef8
chore: bump vike-photon
magne4000 Sep 17, 2025
6cd8ee4
CI: statically generated E2E tests matrix (#568)
magne4000 Sep 17, 2025
b19fd13
chore: do not mention .env DATABASE_URL when using D1
magne4000 Oct 14, 2025
9cbb713
Merge branch 'main' into magne4000/photon
magne4000 Oct 15, 2025
693e025
chore: bump deps
magne4000 Oct 15, 2025
65c5b0b
chore: bump deps
magne4000 Oct 15, 2025
c54d31e
fix: disable preview mode for Vercel
magne4000 Oct 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 0 additions & 78 deletions .github/actions/bati-run/action.yml

This file was deleted.

11 changes: 1 addition & 10 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,12 @@
// manually bumping
"node",
"@types/node",
"pnpm",
// FIXME remove once Bati integreates vike-server
"vike-cloudflare"
"pnpm"
],
"postUpdateOptions": [
"pnpmDedupe"
],
"packageRules": [
{
"matchPackageNames": [
"vite-plugin-vercel",
"@vite-plugin-vercel/vike"
],
"description": "vite-plugin-vercel monorepo"
},
{
"matchPackageNames": [
"fastify",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,33 +1,22 @@
# Step 2
on:
workflow_call:
inputs:
os:
required: true
type: string
node:
required: true
type: number
fast:
type: boolean

concurrency:
group: tests-entry-os-${{ inputs.os }}-${{ inputs.node }}-${{ github.ref }}
group: tests-entry-os-${{ inputs.os }}-${{ github.ref }}
cancel-in-progress: true

env:
NODE_VERSION: 20

jobs:
suite:
runs-on: ${{ inputs.os }}

name: Run

# Debug discrepancies between published package and local one
# services:
# verdaccio:
# # See https://github.com/actions/runner/issues/822#issuecomment-1524826092
# image: ${{ (matrix.os == 'ubuntu-latest') && 'verdaccio/verdaccio' || '' }}
# ports:
# - 4873:4873
name: ${{ inputs.os }}

steps:
- name: Checkout
Expand All @@ -36,7 +25,7 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node }}
node-version: ${{ env.NODE_VERSION }}

- uses: pnpm/action-setup@v4
name: Install pnpm
Expand Down Expand Up @@ -64,29 +53,12 @@ jobs:
- name: Cache for Turbo
uses: rharkor/[email protected]

# - name: Install global dependencies
# if: matrix.os == 'ubuntu-latest'
# run: pnpm install --global npm-cli-login

# - name: Login to verdaccio
# if: matrix.os == 'ubuntu-latest'
# run: npm-cli-login
# env:
# NPM_USER: bati
# NPM_PASS: bati
# NPM_EMAIL: [email protected]
# NPM_REGISTRY: http://localhost:4873

- name: Install dependencies
run: pnpm install

- name: Build packages
run: pnpm run build

# - name: Release in local repo
# if: matrix.os == 'ubuntu-latest'
# run: pnpm run release:local

- name: Run tests
run: pnpm run test

Expand All @@ -96,7 +68,7 @@ jobs:
- name: Archive Bati CLI
uses: actions/upload-artifact@v4
with:
name: bati-cli-${{ inputs.os }}-${{ inputs.node }}
name: bati-cli-${{ inputs.os }}-${{ env.NODE_VERSION }}
if-no-files-found: error
retention-days: 1
overwrite: true
Expand All @@ -109,7 +81,7 @@ jobs:
- name: Archive Bati tests
uses: actions/upload-artifact@v4
with:
name: bati-tests-${{ inputs.os }}-${{ inputs.node }}
name: bati-tests-${{ inputs.os }}-${{ env.NODE_VERSION }}
if-no-files-found: error
retention-days: 1
overwrite: true
Expand All @@ -123,7 +95,7 @@ jobs:
- name: Archive tests-utils
uses: actions/upload-artifact@v4
with:
name: tests-utils-${{ inputs.os }}-${{ inputs.node }}
name: tests-utils-${{ inputs.os }}-${{ env.NODE_VERSION }}
if-no-files-found: error
retention-days: 1
overwrite: true
Expand All @@ -133,37 +105,9 @@ jobs:
- name: Archive tests files
uses: actions/upload-artifact@v4
with:
name: tests-files-${{ inputs.os }}-${{ inputs.node }}
name: tests-files-${{ inputs.os }}-${{ env.NODE_VERSION }}
if-no-files-found: error
retention-days: 1
overwrite: true
include-hidden-files: true
path: ./packages/tests/tests/*

- name: List e2e tests
id: list-e2e
run: pnpm run test:e2e list ${{ inputs.fast && '--workers 1 --filter=react,h3' || '--workers 5' }}
env:
TEST_AUTH0_CLIENT_ID: ${{ secrets.TEST_AUTH0_CLIENT_ID }}
TEST_AUTH0_ISSUER_BASE_URL: ${{ secrets.TEST_AUTH0_ISSUER_BASE_URL }}
TEST_GITHUB_CLIENT_ID: ${{ secrets.TEST_GITHUB_CLIENT_ID }}
TEST_GITHUB_CLIENT_SECRET: ${{ secrets.TEST_GITHUB_CLIENT_SECRET }}

outputs:
test-matrix: ${{ steps.list-e2e.outputs.test-matrix }}

generated:
needs: suite
strategy:
fail-fast: false
matrix:
test-matrix: ${{ fromJson(needs.suite.outputs.test-matrix) }}
name: "e2e (${{ matrix.test-matrix[0] }})"

uses: ./.github/workflows/tests-generated.reusable.yml
secrets: inherit
with:
group: ${{ matrix.test-matrix[0] }}
entry: ${{ matrix.test-matrix[1] }}
os: ${{ inputs.os }}
node: ${{ inputs.node }}
151 changes: 151 additions & 0 deletions .github/workflows/reusable.run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
on:
workflow_call:
inputs:
os:
required: true
type: string
destination:
required: true
type: string
flags:
required: true
type: string
test-files:
required: true
type: string

concurrency:
group: tests-generated-${{ inputs.os }}-${{ inputs.destination }}-${{ github.ref }}
cancel-in-progress: true

env:
NODE_VERSION: 20

jobs:
reusable_workflow_job:
runs-on: ${{ inputs.os }}

name: Run ${{ inputs.flags }}

env:
BATI_TEST: true
TEST_AUTH0_CLIENT_ID: ${{ secrets.TEST_AUTH0_CLIENT_ID }}
TEST_AUTH0_ISSUER_BASE_URL: ${{ secrets.TEST_AUTH0_ISSUER_BASE_URL }}
TEST_GITHUB_CLIENT_ID: ${{ secrets.TEST_GITHUB_CLIENT_ID }}
TEST_GITHUB_CLIENT_SECRET: ${{ secrets.TEST_GITHUB_CLIENT_SECRET }}

steps:
- name: Checkout
uses: actions/checkout@v5

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Cache for Turbo
uses: rharkor/[email protected]

- uses: oven-sh/setup-bun@v2
name: Install bun
with:
bun-version: ${{ env.BUN_VERSION }}

- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Download Bati CLI
uses: actions/download-artifact@v5
with:
name: bati-cli-${{ inputs.os }}-${{ env.NODE_VERSION }}
path: ./bati-cli

- name: Download Bati tests
uses: actions/download-artifact@v5
with:
name: bati-tests-${{ inputs.os }}-${{ env.NODE_VERSION }}
path: ./bati-tests

- name: Download tests-utils
uses: actions/download-artifact@v5
with:
name: tests-utils-${{ inputs.os }}-${{ env.NODE_VERSION }}
path: ./bati-tests-utils

- name: Download tests-files
uses: actions/download-artifact@v5
with:
name: tests-files-${{ inputs.os }}-${{ env.NODE_VERSION }}
path: ./bati-tests-files

- name: Run Bati CLI
shell: bash
run: bun ./bati-cli/index.js ${{ inputs.flags }} ${{ inputs.destination }}

- name: Link tests-utils
shell: bash
run: cp -s ../bati-tests-utils/* .
working-directory: ${{ inputs.destination }}

- name: Link tests files
shell: bash
run: cp -s ../bati-tests-files/* .
working-directory: ${{ inputs.destination }}

- name: Prepare Bati tests
shell: bash
run:
bun ../bati-tests/prepare.js --test-files='${{ inputs.test-files }}' ${{
inputs.flags }}
working-directory: ${{ inputs.destination }}

- name: Install dependencies
shell: bash
run: bun install
working-directory: ${{ inputs.destination }}

- name: Run build
shell: bash
run:
bun turbo run build --no-update-notifier --framework-inference false
--env-mode loose
working-directory: ${{ inputs.destination }}

- name: Run tests
shell: bash
# Bun hangs on Windows
run:
${{ runner.os == 'Windows' && 'npm run test' || 'bun turbo run test --only
--no-update-notifier --framework-inference false --env-mode loose' }}
working-directory: ${{ inputs.destination }}

- name: Run lint:eslint
shell: bash
run:
bun turbo run lint:eslint --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}

- name: Run lint:biome
shell: bash
run:
bun turbo run lint:biome --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}

- name: Run typecheck
shell: bash
run:
bun turbo run typecheck --only --no-update-notifier --framework-inference
false --env-mode loose
working-directory: ${{ inputs.destination }}

- name: Run knip
shell: bash
run:
bun turbo run knip --only --no-update-notifier --framework-inference false
--env-mode loose
working-directory: ${{ inputs.destination }}
Loading