turborepo-gh-artifacts icon indicating copy to clipboard operation
turborepo-gh-artifacts copied to clipboard

A TurboRepo local cache server which uploads artifact cache to GH artifacts.

TurboRepo Github Artifacts action

This action allows you to use Github artifacts as TurboRepo remote cache server.

How it works?

It's starts a local TurboRepo server (on port 9080) and uses Github artifacts as a caching storage.

Setup

  1. Add in your workflow.yml the following section before TurboRepo runs:

    - name: TurboRepo local server
      uses: felixmosh/turborepo-gh-artifacts@v2
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
    
  2. Make turbo repo work with the local server

    Enable turbo remote caching though environment variables.

    - name: Build
      run: yarn build
      env:
        TURBO_API: 'http://127.0.0.1:9080'
        TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
        TURBO_TEAM: 'foo'
    

That's it 😋.

Action inputs

The action has 1 required inputs:

  • repo-token - A Github token with repo permission, usually the default secrets.GITHUB_TOKEN is enough.

Pay ❤️, GITHUB_TOKEN must have actions: read permissions in order to be able to read repo's existing artifacts.

Working Example

Working example of the entire setup, based on npx create-turbo@latest.

Useful Links