Engine works in a firecracker instance in the cloud. It is a virtual machine that we call a ‘task runner’.Properly configuring Engine’s task runner 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 task runner setup with also allow Engine to be more autonomous in response to failing pipelines and other external triggers.
A passing task runner setup lets Engine write better code and be more proactive in your workflowsLearn more about task runner tests
Engine will automatically resize your VM’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.
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:
Copy
# Downgrade to Node v18sudo apt-get remove -y nodejs && curl -fsSL https://deb.nodesource.com/setup_18.x | sudo bash - && sudo apt-get install -y nodejs# Create test databaseexport PGPASSWORD=postgres && psql -U postgres -c "CREATE DATABASE test_db;"# Run database migrationsnpm run migrate
Every Engine VM has the following base system specification by deault.
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:
Copy
# Run lintnpm run lint# Run buildnpm run build# Run testsnpm run test
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.