Version Packages (beta) (#1016) #3475
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |