https://github.com/rstackjs/rstack-ecosystem-ci
Rstack Ecosystem CI
https://github.com/rstackjs/rstack-ecosystem-ci
Last synced: about 1 month ago
JSON representation
Rstack Ecosystem CI
- Host: GitHub
- URL: https://github.com/rstackjs/rstack-ecosystem-ci
- Owner: rstackjs
- License: mit
- Created: 2025-10-27T11:07:54.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-01-12T10:13:15.000Z (about 2 months ago)
- Last Synced: 2026-01-12T10:33:01.868Z (about 2 months ago)
- Language: TypeScript
- Homepage: https://rstack-ecosystem-ci.netlify.app/
- Size: 2.62 MB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# rstack-ecosystem-ci
This repository provides a unified ecosystem CI harness for Rstack projects.
## Via GitHub workflow
### scheduled
Workflows are scheduled to run automatically every day
### manually
- open [workflow](../../actions/workflows/ecosystem-ci-selected.yml)
- click 'Run workflow' button on top right of the list
- select suite to run in dropdown
- start workflow
## Via CLI
- clone this repo
- run `pnpm i`
- run `pnpm test --stack ` to run every suite under the selected stack (`rsbuild`, `rspack`, `rstest`, `rslib`, `rsdoctor`)
- run `pnpm test --stack rspack` to execute all Rspack suites (available stacks: `rsbuild`, `rspack`, `rstest`, `rslib`, `rsdoctor`)
- run `pnpm test --stack rslib` to execute all Rslib suites
- run `pnpm test --stack rsbuild plugins` to target a specific suite
- or invoke `tsx ecosystem-ci.ts` directly for advanced commands such as `build`, `run-suites`, or `bisect`
The version selection flags apply to the chosen stack:
- `--tag v2.8.0-beta.1`, `--branch some-branch` or `--commit abcd1234` pick the stack source to build
- `--release 2.7.13` skips the local build and pulls the stack from the registry instead
The repositories are checked out into `workspace` subdirectory as shallow clones
### Cheat sheet
- `pnpm test --stack rspack --release nightly `: run a nightly release of the selected stack
- `pnpm test --stack rsbuild --branch main --suite-branch update-rsbuild `: use `update-rsbuild` branch for the suite to test `main`
- `pnpm test --stack rspack modernjs` (rspack suites include modernjs, rspress, rsbuild, rslib, rstest, rsdoctor, examples, devserver, nuxt, plugin, lynx-stack, _selftest)
# How to add a new integration test
- check out the existing suites under `tests/` and add one yourself. Thanks to the shared utilities it is really easy
- once you are confidente the suite works, add it to the lists of suites in the [workflows](../../actions/)
> the current utilities focus on pnpm based projects. Consider switching to pnpm or contribute utilities for other pms
# Reporting results
### On your own server
- Go to `Server settings > Integrations > Webhooks` and click `New Webhook`
- Give it a name, icon and a channel to post to
- copy the webhook url
- get in touch with admins of this repo so they can add the webhook
## Credits
Thanks to:
- [vitejs/vite-ecosystem-ci](https://github.com/vitejs/vite-ecosystem-ci)
- [vuejs/ecosystem-ci](https://github.com/vuejs/ecosystem-ci)
which inspired the development of this project.