-
Notifications
You must be signed in to change notification settings - Fork 18
CI Pipeline
This document outlines Inertia's continuous integration pipeline.
Tests are continuously executed by Travis CI. Inertia' test pipeline covers as much of a deployment's lifecycle as possible. It includes:
- unit tests for internal functionality
- integration tests for builds, and the repository contains test projects for each build procedure
- integration tests for git SSH functionality, through the
inertia-deploy-test
repository and a provided read-only key - integration tests for the entire bootstrap process (
inertia [remote] init
)- Travis executes each test on a variety of mock VPS services, provided via SSH-enabled Docker containers
Setting this up locally is described in CONTRIBUTING.md and involves executing a bunch of provided scripts in the correct order.
Most of these tests are executed in parallel - this blog post goes over Inertia's Travis builds and the work undertaken to optimize it.
Travis CI also handles automated builds when a new release is tagged. It builds the daemon in a new Docker image and pushes it to Docker Hub, and cross-compiles the CLI for a number of platforms. The CLI binaries are then uploaded to GitHub automatically.
Homebrew and Scoop releases are not automated, and must be manually updated through their respective repositories.
- Documentation
- Releases
- How Inertia Works
- Contributing