Skip to content

Commit

Permalink
chore(ci): support custom turbo version for ci (#9913)
Browse files Browse the repository at this point in the history
### Description

Our release flow installs the most recent version of turbo to run tests
even if it's deprecated. This allows that to be overriden so we can
still release forward after a bad release.

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
  • Loading branch information
tknickman authored Feb 7, 2025
1 parent 8a2fac2 commit e3f2b1c
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 4 deletions.
23 changes: 20 additions & 3 deletions .github/actions/install-global-turbo/action.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
name: "Install Global Turbo"
description: "Installs turbo globally. Expects Node and npm to already be installed"

inputs:
turbo-version:
description: "Specify a Turbo version or tag (e.g., 2.0.5, latest, beta, canary)"
required: false
default: ""

runs:
using: "composite"
steps:
- name: Determine Turbo Version
id: determine-version
shell: bash
run: |
if [[ -n "${{ inputs.turbo-version }}" ]]; then
VERSION="${{ inputs.turbo-version }}"
else
VERSION=$(npm view turbo --json | jq -r '.versions | map(select(test("^2\\."))) | last')
echo "No version provided, using latest 2.x version: $VERSION"
fi
echo "TURBO_VERSION=$VERSION" >> $GITHUB_ENV
- name: Install Turbo globally
shell: bash
run: |
VERSION=$(npm view turbo --json | jq -r '.versions | map(select(test("2."))) | last')
echo "Latest published version: $VERSION"
npm i -g turbo@$VERSION
echo "Installing turbo@$TURBO_VERSION..."
npm i -g turbo@$TURBO_VERSION
11 changes: 10 additions & 1 deletion .github/workflows/turborepo-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ on:
description: "Override default npm dist-tag for the release. Should only be used for backporting"
required: false
type: string
ci-tag-override:
description: "Override default npm dist-tag to use for running tests. Should only be used when the most recent release was faulty"
required: false
type: string
default: ""

jobs:
stage:
Expand Down Expand Up @@ -107,6 +112,8 @@ jobs:
node-version: "20"
- name: Install Global Turbo
uses: ./.github/actions/install-global-turbo
with:
turbo-version: "${{ github.event.inputs.ci-tag-override }}"
- name: Run JS Package Tests
run: turbo run check-types test --filter="./packages/*" --color

Expand Down Expand Up @@ -207,7 +214,9 @@ jobs:
enable-corepack: false

- name: Install Global Turbo
uses: ./.github/actions/install-global-turbo
uses: ./.github/actions/
with:
turbo-version: "${{ github.event.inputs.ci-tag-override }}"

- name: Configure git
run: |
Expand Down

0 comments on commit e3f2b1c

Please sign in to comment.