Skip to content

Version Packages (beta) #3470

Version Packages (beta)

Version Packages (beta) #3470

Workflow file for this run

name: CI
env:
DO_NOT_TRACK: 1
on:
push:
branches:
- main
- release/*
- next
pull_request:
types: [opened, synchronize, reopened]
jobs:
cspell:
name: Check spelling
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Check spelling
run: pnpm exec turbo run ci:cspell
changesets:
name: Check for changesets
if: ${{ github.event_name == 'pull_request' }}
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: pnpm/action-setup@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Check for changesets
run: |
git fetch origin main:main
git checkout ${GITHUB_HEAD_REF}
pnpm exec changeset status --since=main
build:
name: Build and Test
timeout-minutes: 15
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
strategy:
matrix:
node: [18, 20, 22]
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: pnpm/action-setup@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Transpile, typecheck, Lint and test
run: pnpm check
# catches some of the examples that don't have transpile/typecheck tasks
- name: Build
run: pnpm build
- name: Verify nothing changed
run: git diff --exit-code
- name: Verify nothing added
run: u="$(git ls-files --others --exclude-standard)" && test -z "$u"
e2e:
name: E2E Tests
timeout-minutes: 15
runs-on: ubuntu-latest
services:
verdaccio:
image: verdaccio/verdaccio
# options: >-
# --health-cmd "curl -f http://localhost:4873/"
# --health-interval 5s
ports:
- 4873:4873
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: pnpm/action-setup@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 22
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Transpile # the build step will catch lint and co errors
run: pnpm exec turbo transpile
- name: Setup Verdaccio
run: |
npx npm-auth-to-token -u verdaccio -p fake -e [email protected] -r http://localhost:4873
npm config set registry http://localhost:4873
- name: Faux Release
run: pnpm exec changeset version
- name: Faux Publish
run: pnpm publish -r --no-git-checks