Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve CI setup #1904

Merged
merged 1 commit into from
Sep 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/actions/setup-go/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: "Turborepo Go Setup"
description: "Sets Go up for CI"
inputs:
github-token:
description: "GitHub token. You can pass secrets.GITHUB_TOKEN"
required: true
runs:
using: "composite"
steps:
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18
cache: true
cache-dependency-path: cli/go.sum

- name: Set Up Protoc
uses: arduino/setup-protoc@v1
with:
version: "3.x"
repo-token: ${{ inputs.github-token }}

- name: Set Up GRPC protobuf
shell: bash
run: |
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.0
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0
40 changes: 40 additions & 0 deletions .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: "Turborepo Node.js Setup"
description: "Sets Node.js up for CI"
inputs:
enable-corepack:
description: "Control turning on corepack."
required: false
default: true
runs:
using: "composite"
steps:
- name: Setup pnpm
uses: pnpm/action-setup@v2.2.2
with:
version: 7.2.1

- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16
cache: pnpm

- name: Configure corepack
# Forcibly upgrade our available version of corepack.
# The bundled version in node 16 has known issues.
# Prepends the npm bin dir so that it is always first.
shell: bash
run: |
npm install --force --global corepack@latest
npm config get prefix >> $GITHUB_PATH
corepack enable

- name: Enable corepack
if: ${{ inputs.enable-corepack == 'true' }}
shell: bash
run: |
corepack enable

- name: pnpm install
shell: bash
run: pnpm install
Original file line number Diff line number Diff line change
Expand Up @@ -17,46 +17,15 @@ jobs:
os: [ubuntu-latest, macos-latest]

steps:
- name: Check out code
uses: actions/checkout@v3
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-node
- uses: ./.github/actions/setup-go
with:
fetch-depth: 2

- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18.0
cache: true
cache-dependency-path: cli/go.sum
id: go

- name: Set Up Protoc
uses: arduino/setup-protoc@v1
with:
version: "3.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Set Up Go and GRPC protobuf
run: |
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.0
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0

- uses: pnpm/action-setup@v2.2.2
with:
version: 7.2.1

- name: Setup Node.js environment
uses: actions/setup-node@v2
with:
node-version: 16
cache: pnpm
github-token: "${{ secrets.GITHUB_TOKEN }}"

- name: Build
run: cd cli && make turbo

- name: Install dependencies
run: pnpm install --filter=benchmark

- name: Download previous benchmark results
# continue on error so that we handle the bootstrap case where there is no previous data
continue-on-error: true
Expand Down
154 changes: 0 additions & 154 deletions .github/workflows/ci-go.yml

This file was deleted.

89 changes: 0 additions & 89 deletions .github/workflows/ci-js.yml

This file was deleted.

31 changes: 31 additions & 0 deletions .github/workflows/pr-go-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CLI E2E tests

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
branches: ["main"]
pull_request:
types: [opened, edited, synchronize]

jobs:
test:
timeout-minutes: 15
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-node
- uses: ./.github/actions/setup-go
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"

- name: E2E Tests
run: pnpm -- turbo run e2e --filter=cli

Loading