Travis CI

The following example shows how to use Turborepo with Travis CI.

For a given root package.json:

./package.json
{
  "name": "my-turborepo",
  "scripts": {
    "build": "turbo run build",
    "test": "turbo run test"
  },
  "devDependencies": {
    "turbo": "latest"
  }
}

And a turbo.json:

Turborepo logo
./turbo.json
{
  "$schema": "https://turborepo.com/schema.json",
  "tasks": {
    "build": {
      "outputs": [".svelte-kit/**"],
      "dependsOn": ["^build"]
    },
    "test": {
      "dependsOn": ["^build"]
    }
  }
}

Create a file called .travis.yml in your repository with the following contents:

.travis.yml
language: node_js
node_js:
  - lts/*
cache:
  npm: false
  directories:
    - "~/.pnpm-store"
before_install:
  - curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6.32.2
  - pnpm config set store-dir ~/.pnpm-store
install:
  - pnpm install
script:
  - pnpm build
script:
  - pnpm test

For more information visit the pnpm documentation section on Travis CI integration, view it here

Remote Caching

To use Remote Caching, retrieve the team and token for the Remote Cache for your provider. In this example, we'll use Vercel Remote Cache:

  • TURBO_TOKEN - The Bearer token to access the Remote Cache
  • TURBO_TEAM - The account to which the monorepo belongs

To use Vercel Remote Caching, you can get the value of these variables in a few steps:

  1. Create a Scoped Access Token to your account in the Vercel Dashboard

Vercel Access Tokens

Copy the value to a safe place. You'll need it in a moment.

  1. Go to your Travis repository settings and scroll down to the Environment Variables section. Create a new variable called TURBO_TOKEN and enter the value of your Scoped Access Token.

Travis CI Variables

  1. Make a second secret called TURBO_TEAM and enter your Team URL.

  2. Travis CI automatically loads environment variables stored in project settings into the CI environment. No modifications are necessary for the CI file.