Engine works in a firecracker instance in the cloud.

Properly configuring Engine’s VM with system setup, project dependencies, and code checks will significantly improve Engine’s work.

Engine can attempt to configure itself using the setup agent

A passing VM setup with also allow Engine to be more autonomous in response to failing pipelines and other external triggers.

A passing VM setup lets Engine write better code and be more proactive in your workflows

Learn more about VM Tests

Engine will automatically resize your virtual machine’s memory to meet the needs of your project in increments of 2Gb from 4Gb to a maximum of 16Gb. Users that require more than 16Gb of memory should contact us.

System Setup

Install and configure software, tools, and packages required at the system level.

For example, this system setup configration installs Node 18 and configures a database to run tests:

# Downgrade to Node v18
sudo apt-get remove -y nodejs && curl -fsSL https://deb.nodesource.com/setup_18.x | sudo bash - && sudo apt-get install -y nodejs

# Create test database
export PGPASSWORD=postgres && psql -U postgres -c "CREATE DATABASE test_db;"

# Run database migrations
npm run migrate

Every Engine VM has the following base system specification by deault.

Project Dependencies

Install repo specific dependencies like libraries, frameworks and packages.

For example, use npm to install project dependencies:

# Install deps
npm install

Code Checks

Code checks are commands Engine runs before committing your code, to ensure it passes and pre commit or pipeline steps.

Use code checks to lint, test and build your code, for example:

# Run lint
npm run lint

# Run build
npm run build

# Run tests
npm run test

Git Actions Workflow (beta)

If you have any actions workflows in your git provider you can select them from the dropdown menu to be included in Engine’s code checks.

Any selected actions will appear as an additional step in the code checks section.