Any
Monorepo
Each package owns its Testfile; the root file only wires them together with glob includes, so teams stay independent.
This guide shows:
include: packages/*expands into one branch per package- Included files run in their own directory; their named ports merge into the rootβs
inputsper package: untouched packages come from the cache- Filter to one package with
-n api
version: 0
name: monorepo
# The root file only wires the packages together: every package owns its
# own Testfile, so teams stay independent. `include` accepts globs, and
# each included file runs in its own directory.
test:
name: all
sequence:
- name: install
command: npm ci --no-audit --no-fund
inputs: [package-lock.json]
- name: packages
# packages/*/Testfile - one parallel branch per package
include: packages/*
- name: apps
include: apps/*
Browse this example on GitHub β
Copy it into your project, adjust the commands, run testfile start. Missing your
stack? Open an issue β or
start from Getting started and let
testfile init write a first version for you.