Using Turborepo with Travis CI

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

    For a given root package.json:

    {
      "name": "my-turborepo",
      "scripts": {
        "build": "turbo run build",
        "test": "turbo run test"
      },
      "devDependencies": {
        "turbo": "1.2.5"
      }
    }

    And a turbo.json:

    {
      "$schema": "https://turborepo.org/schema.json",
      "pipeline": {
        "build": {
          "dependsOn": ["^build"],
          "outputs": []
        },
        "test": {
          "dependsOn": ["^build"],
          "outputs": []
        },
      }
    }

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

    language: node_js
    node_js:
      - lts/*
    install:
      - npm install
    script:
      - npm run build
    script:
      - npm run test

    Remote Caching

    To use Remote Caching with Travis CI, add the following environment variables to your Travis CI project.

    • 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 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 the value of your team's Vercel URL without the vercel.com/. Your Team URL can be found inside your team's general project settings from the dashboard.

      If you're using a Hobby Plan, you can use your username. Your username can be found in your Vercel Personal Account Settings

    Vercel Account Slug

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