Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
19 changes: 18 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ concurrency:
jobs:
test:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 10
env:
MISE_EXPERIMENTAL: "1"
steps:
Expand All @@ -35,8 +36,22 @@ jobs:
- name: 💅 Check (biome + tsc)
run: mise run check

- name: 💾 Cache Playwright browsers
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-1.59.1

- name: 🎭 Install Playwright browser (lib browser tests)
run: mise run playwright:install
timeout-minutes: 10
run: |
for attempt in 1 2 3; do
timeout -s KILL 180 mise run playwright:install && exit 0
echo "::warning::playwright install attempt $attempt timed out or failed; cleaning up stray procs and retrying"
pkill -9 -f 'ms-playwright|chrome-linux|chromium|playwright' || true
sleep 5
done
exit 1

- name: 🧪 Test unit (lib)
run: mise run lib:test
Expand All @@ -46,6 +61,7 @@ jobs:

release:
runs-on: ubuntu-latest
timeout-minutes: 15
needs: test
if: ${{ github.ref == 'refs/heads/main' }}
permissions:
Expand Down Expand Up @@ -94,6 +110,7 @@ jobs:

preview:
runs-on: ubuntu-latest
timeout-minutes: 10
if: ${{ startsWith(github.head_ref, 'feat') || startsWith(github.head_ref, 'fix') || contains(github.event.pull_request.labels.*.name, 'preview') }}
permissions:
id-token: write
Expand Down
20 changes: 19 additions & 1 deletion .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ jobs:
test:
name: ${{ matrix.example }}
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 12
env:
MISE_EXPERIMENTAL: "1"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.example }}
cancel-in-progress: true
strategy:
fail-fast: false
max-parallel: 1
matrix:
include:
- { example: backend-node, browser: false }
Expand Down Expand Up @@ -63,9 +65,25 @@ jobs:
- name: 🎁 Pack @vlandoss/env
run: mise run env:pack

- name: 💾 Cache Playwright browsers
if: matrix.browser
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-1.59.1

- name: 🎭 Install Playwright browsers
if: matrix.browser
run: mise run playwright:install
timeout-minutes: 10
run: |
for attempt in 1 2 3; do
timeout -s KILL 180 mise run playwright:install && exit 0
echo "::warning::playwright install attempt $attempt timed out or failed; cleaning up stray procs and retrying"
pkill -9 -f 'ms-playwright|chrome-linux|chromium|playwright' || true
sleep 5
done
exit 1

- name: 🧩 Test e2e
timeout-minutes: 5
run: mise run //examples/${{ matrix.example }}:test:e2e
2 changes: 1 addition & 1 deletion docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Examples are runtime-isolated demos. Each one is a real consumer of the publishe
"@vlandoss/env": "file:../../package/.local/vlandoss-env.tgz"
```
3. Add a `mise.toml` with the runtime tools (`node` / `bun` / `deno` / `pnpm`) and the standard tasks (`setup`, `start`, `test:e2e`, `check`). Use any of the existing examples as a template — pick the one with the closest runtime.
4. Add a `biome.json` extending `@vlandoss/config/biome` (skip this for Deno-only examples).
4. Add a `biome.json` extending `@rrlab/biome-config` (skip this for Deno-only examples).
5. Add the path to `[monorepo].config_roots` in the root [`mise.toml`](../mise.toml).
6. Add a row to the matrix in [`.github/workflows/e2e.yml`](../.github/workflows/e2e.yml).
7. Update the table in [`examples/README.md`](../examples/README.md).
Expand Down
2 changes: 1 addition & 1 deletion docs/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ The full step-by-step is in [CONTRIBUTING.md](./CONTRIBUTING.md#adding-a-new-exa
1. New dir under `examples/<name>/`.
2. `package.json` with `"@vlandoss/env": "file:../../package/.local/vlandoss-env.tgz"` and the runtime's flavor of devDeps (e.g. `@types/bun` for Bun, `@types/deno` for Deno).
3. `mise.toml` with `[tools]` and the standard tasks. Copy from the closest existing example.
4. `biome.json` extending `@vlandoss/config/biome` (skip for Deno-only).
4. `biome.json` extending `@rrlab/biome-config` (skip for Deno-only).
5. Add the path to `[monorepo].config_roots` in the root [`mise.toml`](../mise.toml).
6. Add a row to the matrix in [`.github/workflows/e2e.yml`](../.github/workflows/e2e.yml).
7. Update the table in [`examples/README.md`](../examples/README.md).
Expand Down
1 change: 1 addition & 0 deletions docsite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
},
"devDependencies": {
"@cloudflare/vite-plugin": "^1.36.4",
"@rrlab/ts-config": "catalog:",
"@tailwindcss/vite": "4.3.0",
"@tanstack/router-plugin": "1.167.35",
"@types/mdx": "2.0.13",
Expand Down
35 changes: 17 additions & 18 deletions examples/backend-bun/bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions examples/backend-bun/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
"zod": "4.3.6"
},
"devDependencies": {
"@biomejs/biome": "^2.0.0",
"@biomejs/biome": "2.4.15",
"@playwright/test": "1.59.1",
"@rrlab/biome-config": "^0.0.2",
"@rrlab/biome-plugin": "^0.1.1",
"@rrlab/cli": "0.0.3",
"@rrlab/ts-config": "^0.0.2",
"@rrlab/ts-plugin": "^0.1.1",
"@rrlab/biome-config": "0.0.2",
"@rrlab/biome-plugin": "1.1.0",
"@rrlab/cli": "1.1.0",
"@rrlab/ts-config": "0.0.2",
"@rrlab/ts-plugin": "1.1.0",
"@types/bun": "1.3.14",
"playwright": "1.59.1",
"typescript": "^6.0.0"
"typescript": "6.0.3"
}
}
Loading
Loading