Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Bundle fixtures
A collection of "smoke"-test that verify that the package layout is correct.
createFixture is used to create new or update existing fixtures.
The created file might need some manual adjustment since not every edge case is covered.
Run a fixture
To test a Pull Request
- Checkout branch
pnpm installpnpm lerna run build --scope "@mui/*"pnpm release:pack- Navigate into the fixture you want to test (where the
package.jsonis located) pnpm install --ignore-workspacepnpm start
To test a published npm dist tag
For example: latest or next on npm or a pkg.pr.new published version
- Navigate into the fixture you want to test (where the
package.jsonis located) - Adjust
pnpm.overridesof thepackage.jsonfile to point to the desired version pnpm install --ignore-workspacepnpm start
In CI
You have to run our CircleCI pipeline with the workflow parameter set to bundling.
With the following API request we're triggering a run of the bundling workflow in PR #24289:
curl --request POST \
--url https://circleci.com/api/v2/project/gh/mui/material-ui/pipeline \
--header 'content-type: application/json' \
--header 'Circle-Token: $CIRCLE_TOKEN' \
--data-raw '{"branch":"pull/24289/head","parameters":{"workflow":"bundling"}}'
$CIRCLE_TOKEN must be set as an environment variable created from https://app.circleci.com/settings/user/tokens.
Add a new fixture
- Create a folder in
test/fixtures/bundling - Add the necessary dependencies
- Re-use the entries for
dependenciesandpnpm.overridesfor@mui/*packages from the other fixtures - Create a template
- Write a factory that fills the template in
test/bundling/scripts/createFixture - Add an entry into the
bundlingCircleCI pipeline (.circleci/config.yml)