on:
push:
paths:
- 'apps/web/**'
- 'packages/ui/**'
- '.github/workflows/web.yml' Path filters are one of the easiest ways to cut CI minutes in monorepos.
Selective execution, shared scripts, naming, and maintainable organization for growing automation estates.
Scope work to only the apps and packages that changed.
on:
push:
paths:
- 'apps/web/**'
- 'packages/ui/**'
- '.github/workflows/web.yml' Path filters are one of the easiest ways to cut CI minutes in monorepos.
web_test:
stage: test
rules:
- changes:
- apps/web/**/*
- packages/ui/**/*`rules:changes` helps keep large repositories efficient and focused.
strategy:
matrix:
package: [api, web, worker]Static or generated matrices work well for polyrepo-like monorepo segments.
Organize by shared templates and clearly named workflows.
./scripts/ci/install.sh
./scripts/ci/test.sh
./scripts/ci/build.shThin YAML plus reusable scripts is often easier to test and review than giant inline shell blocks.
ci-web.yml
ci-api.yml
deploy-production.yml
nightly-maintenance.ymlGood naming helps teams navigate automation quickly as the number of workflows grows.
Status badges are simple but useful for surfacing build health in public repos and internal dashboards.