Skip to content

Switch to @glimmer/syntax latest #410

Switch to @glimmer/syntax latest

Switch to @glimmer/syntax latest #410

Workflow file for this run

name: CI
on:
push:
branches:
- main
- 'v*' # older version branches
tags:
- '*'
pull_request: {}
schedule:
- cron: '0 6 * * 0' # weekly, on sundays
# --ignore-scripts is used everywhere here because
# we want manual control over the build.
# the pre* scripts (ran via exclusion of --ignore-scripts) are kept for local development
jobs:
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
- run: pnpm install --ignore-scripts
- run: pnpm lint
# To simulate what would happen when we push a release
# out to consumers, we're only going to build once, and
# then download the copy of those assets in each test job.
#
# This allows us to test against various node versions without
# changing how we compile (since consumers will not be compiling this library)
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
- run: pnpm install --ignore-scripts
- run: pnpm build
- uses: actions/upload-artifact@v4
with:
name: bulit-assets
path: dist
test:
name: Tests
runs-on: ubuntu-latest
strategy:
matrix:
node: ['18', '20']
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version: ${{ matrix.node }}
- run: pnpm install --ignore-scripts
- uses: actions/download-artifact@v4
with:
name: bulit-assets
path: dist
- run: pnpm test
test_old:
name: Tests (Node 14)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 7
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version: 14
# lockfile format version 9 didn't exist with pnpm 7
# ignore scripts because
- run: pnpm install --no-lockfile --ignore-scripts
- uses: actions/download-artifact@v4
with:
name: bulit-assets
path: dist
- run: pnpm test
floating-test:
name: Floating dependencies and build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
- run: pnpm install --no-lockfile
- run: pnpm test
min-glimmer-syntax:
name: Latest @glimmer/syntax
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
- run: pnpm install --no-lockfile --ignore-scripts
- uses: actions/download-artifact@v4
with:
name: bulit-assets
path: dist
- run: pnpm update @glimmer/syntax@0.84.3
- run: npx y-which @glimmer/syntax
# We use jest directly, because we don't want `pretest` to run,
# because we don't need to compile again
# (and don't want to since we changed the @glimmer/syntax version
# and TS would fail)
- run: pnpm jest