title | description |
---|---|
Using Turborepo with Travis CI |
How to use Travis CI with Turborepo to optimize your CI workflow |
import { Tabs, Tab } from "../../../../components/Tabs";
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://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": []
},
"test": {
"dependsOn": ["^build"],
"outputs": []
},
}
}
Create a file called .travis.yml
in your repository with the following contents:
<Tabs items={['npm', 'yarn', 'pnpm']} storageKey="selected-pkg-manager">
yaml language: node_js node_js: - lts/* install: - npm install script: - npm run build script: - npm run test
Travis CI detects the use of Yarn by the presence of yarn.lock
. It will automatically ensure it is installed.
yaml language: node_js node_js: - lts/* install: - yarn script: - yarn build script: - yarn test
yaml 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
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 CacheTURBO_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:
- Create a Scoped Access Token to your account in the Vercel Dashboard
Copy the value to a safe place. You'll need it in a moment.
- 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.
-
Make a second secret called
TURBO_TEAM
and enter the value of your team's Vercel URL without thevercel.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
- Travis CI automatically loads environment variables stored in project settings into the CI environment. No modifications are necessary for the CI file.