Step 1. Install
npm install --save-dev @relative-ci/agent
yarn add --dev @relative-ci/agent
pnpm add -D @relative-ci/agent
Step 2. Output webpack stats JSON file
Follow the steps on Output webpack stats JSON file guide.
Step 3. Configure @relative-ci/agent
relativeci.config.js
module.exports = { // Get current commit message (`git log -1 --pretty=%B`) and send it to RelativeCI as part of the build informatin includeCommitMessage: true, // Save agent payload to disk for debugging // @example './relative-ci-payload.json', payloadFilepath: undefined, webpack: { // Path to Webpack stats JSON file stats: './webpack-stats.json' }};
Step 4. Configure Continuous integration(CI) service
Add environment variables
RELATIVE_CI_KEY
- required
Your project RelativeCI API key. To view the corresponding key for your project, navigate to https://app.relative-ci.com and go to the project Settings -> API Keys page.
More resources:
Run agent CLI on CI
Add a CI job to run @relative-ci/agent
after the build job.
View config examples for:
Monorepo
If you are using a monorepo setup and need to send the build information and the stats for multiple projects, use different API keys and stat files for each project.
.github/workflow/build.yml
# ...
- name: Project A - build run: cd project-a && npm run build --json webpack-stats.json
- name: Project A - send build information and bundle stats to RelativeCI run: cd project-a && npx relative-ci-agent env: RELATIVE_CI_KEY: ${{ secrets.RELATIVE_CI_KEY_PROJECT_A }}
- name: Project B - build run: cd project-b && npm run build --json webpack-stats.json
- name: Project B - send build information and bundle stats to RelativeCI run: cd project-b && npx relative-ci-agent env: RELATIVE_CI_KEY: ${{ secrets.RELATIVE_CI_KEY_PROJECT_B }}