RelativeCI

In-depth webpack bundle analysis and monitoring

FAQ

General

How is RelativeCI working?

RelativeCI uses the agent to collect, validate, filter, and send webpack stats and build information to the service API.

The API analyzes the webpack stats using bundle-stats, saves the result, and triggers the project specific integrations(GitHub check status report, GitHub pull request comment, Slack notification).

The application allows users to view project metric trends or the in-depth job reports.

What is the base branch?

The base branch is the project default branch and is used to get the baseline for a new job. When a project is created, the base branch is populated from your GitHub repository default branch, but you can change it to match your workflow on Project -> Settings page.

What is the job baseline?

The baseline job is the latest job in the base branch at the moment when the new job is created. The job baseline metrics are used to compare and to generate any of the metrics & insights that are depending on baseline values (eg: Cache invalidation).

Security

Does RelativeCI GitHub application have access to my repository source code?

RelativeCI does not have access to the repository source code. The GitHub application installation will ask for the following permissions:

  • Metadata - list collaborators and repository metadata
  • Checks - add commit status checks and reports
  • Pull requests - add pull request comments

Agent

What data is the agent sending?

The agent validates, filters the webpack stats, and sends only the necessary data (eg: asset/module name and size). Also, the agent relies on env-ci to read information about the current build job. We do not access, process, or send any source code.

To inspect the agent payload, you can use payloadFilepath option to save the data on disk.

What environment variables are required?

@relative-ci/agent expects the presence of specific environment variables to identify the project and label individual jobs:

  • RELATIVE_CI_KEY: the RelativeCI API key specific for your project
  • Continuous Integration(CI) environment variables: RelativeCI uses env-ci to normalize the variables across different CI services. The agent uses the following properties: branch, build, buildUrl, commit, isCi, pr, prBranch, service, slug.

How can I enable the webpack plugin only for one build task

If you run multiple build tasks for every commit, it is recommended to configure @relative-ci/agent to run only once. To achieve this, enable the plugin based on a specific environment variable:

webpack.config.js
const { RelativeCiAgentWebpackPlugin } = require('@relative-ci/agent');
module.exports = {
// ... your webpack config
plugins: [
// ... other plugins
new RelativeCiAgentWebpackPlugin({
enabled: process.env.RELATIVE_CI
})
]
};

Run the build task with the environment variable:

RELATIVE_CI=true npm run build

Usage

How do you count the number of jobs?

A job is a successful processed request sent by the agent for one of your projects. We count all the jobs across all the organization's projects.

How do you measure job stats size

The job stats size is the size of the data filtered and uploaded by relative-ci/agent and processed by RelativeCI. You can view the job stats on the job info section or by enabling DEBUG mode on the agent (check debug instructions based on your agent installation type). Also, you can view the daily stats usage for the entire organization on Organization -> Settings -> Usage page.

As an example, the job stats size for an application with 100 assets and 1500 module is approximately 250KB.

What if I exceed my subscription's monthly quota

You will receive notifications when your usage quota for the current billing period will reach 90% and 100% of the limit. If your organization quota will exceed any of the limits, RelativeCI will stop processing job requests. To avoid not processed jobs, you can consider upgrading to a larger plan or configure your CI service to skip running the agent for every commit.

Pricing

What payment methods are supported?

RelativeCI uses Paddle.com to manage subscriptions. We support all major card providers and PayPal.

Will I be charged sales tax or VAT?

Depending on your region or entity type (consumer/organization), Paddle will collect the applicable tax. The total price will be calculated at the payment step.

Can I cancel my account?

You can cancel your organization subscription any time.

What is your refund policy?

You can ask for a refund within 14 days from your latest payment.

Have other questions?Contact us via email, Twitter, or GitHub!

Start analyzing and monitoring yourwebpack bundle