Using Turborepo with GitLab CI

    The following example shows how to use Turborepo with GitLab 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 .gitlab-ci.yml in your repository with the following contents:

    image: node:latest
    # To use Remote Caching, uncomment the next lines and follow the steps below.
    # variables:
    #   TURBO_TOKEN: $TURBO_TOKEN
    #   TURBO_TEAM: $TURBO_TEAM
    stages:
      - build
    build:
      stage: build
      script:
        - npm install
        - npm run build
        - npm run test

    Remote Caching

    To use Remote Caching with GitLab CI, add the following environment variables to your GitLab 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 GitLab repository settings and click on the Settings and then CI/CD tab. Create a new variable called TURBO_TOKEN and enter the value of your Scoped Access Token.

    GitLab CI Variables GitLab CI Create Variable

    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