Switch to pnpm #574
Workflow file for this run
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 | |
on: | |
push: | |
branches: | |
- master | |
- 'v*' | |
pull_request: {} | |
schedule: | |
- cron: '0 6 * * 0' # weekly, on sundays | |
jobs: | |
lint: | |
name: Linting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: 16.x | |
- name: build | |
run: pnpm build | |
- name: lint:js | |
run: pnpm lint:js | |
- name: lint:hbs | |
run: pnpm lint:hbs | |
# Basic tests; we can trigger parallel runs of *everything else* iff this | |
# passes. | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: 16.x | |
- name: build | |
run: pnpm build | |
- name: jest | |
run: pnpm test:jest | |
- name: ember test | |
run: pnpm test:ember | |
# For example: don't bother with *other* Node version tests unless the base | |
# case passes! | |
tests-node: | |
name: 'Tests: Node ${{ matrix.node-version }}' | |
runs-on: ubuntu-latest | |
needs: [test, lint] | |
strategy: | |
matrix: | |
node-version: [16.x, 18.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: build | |
run: pnpm build | |
- name: jest | |
run: pnpm test:jest | |
- name: ember test | |
run: pnpm test:ember | |
# macOS and Windows can run after we clear ubuntu (don't bother otherwise) | |
test-other-os: | |
name: 'Tests: ${{ matrix.os }}' | |
runs-on: ${{ matrix.os }}-latest | |
needs: [test, lint] | |
strategy: | |
matrix: | |
os: [macos, windows] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: 16.x | |
- name: build | |
run: pnpm build | |
- name: jest | |
run: pnpm test:jest | |
- name: ember test | |
run: pnpm test:ember | |
# floating deps likewise are only gated on ubuntu tests passing | |
floating-dependencies: | |
name: Floating Deps | |
runs-on: ubuntu-latest | |
needs: [test, lint] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: 16.x | |
- name: build | |
run: pnpm build | |
- name: jest | |
run: pnpm test:jest | |
- name: ember test | |
run: pnpm test:ember | |
# as are other compatibility scenarios | |
try-scenarios: | |
name: ${{ matrix.ember-try-scenario }} | |
runs-on: ubuntu-latest | |
needs: [test, lint] | |
strategy: | |
matrix: | |
ember-try-scenario: | |
- ember-3.27 | |
- ember-4.12 | |
- ember-release | |
- ember-beta | |
- ember-canary | |
- embroider-safe-min-supported | |
- embroider-optimized-min-supported | |
- embroider-safe-release | |
- embroider-optimized-release | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: 16.x | |
- name: build | |
run: pnpm build | |
- name: test | |
env: | |
EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }} | |
run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO |