Add test apps (addon, app) x (js, ts) #688
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: lint:js | |
run: pnpm lint:js | |
# 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: 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.18.1] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wyvox/action-setup-pnpm@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- 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: 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: 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: test | |
env: | |
EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }} | |
run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO |