Merge pull request #185 from mrloop/em-readme-component #515
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@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: install dependencies | |
run: yarn install | |
- name: build | |
run: yarn build | |
- name: lint:js | |
run: yarn lint:js | |
- name: lint:hbs | |
run: yarn 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@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: install dependencies | |
# Dependency fetching in Windows Actions runners can be slow | |
run: yarn install --network-timeout 60000 | |
- name: build | |
run: yarn build | |
- name: jest | |
run: yarn test:jest | |
- name: ember test | |
run: yarn 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@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: install dependencies | |
# Dependency fetching in Windows Actions runners can be slow | |
run: yarn install --network-timeout 60000 | |
- name: build | |
run: yarn build | |
- name: jest | |
run: yarn test:jest | |
- name: ember test | |
run: yarn 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@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: install dependencies | |
# Dependency fetching in Windows Actions runners can be slow | |
run: yarn install --network-timeout 60000 | |
- name: build | |
run: yarn build | |
- name: jest | |
run: yarn test:jest | |
- name: ember test | |
run: yarn 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@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: install dependencies | |
run: yarn install --ignore-lockfile | |
- name: build | |
run: yarn build | |
- name: jest | |
run: yarn test:jest | |
- name: ember test | |
run: yarn 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-release | |
- ember-beta | |
- ember-canary | |
- embroider-safe | |
- embroider-optimized | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: install dependencies | |
run: yarn install | |
- name: build | |
run: yarn build | |
- name: test | |
env: | |
EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }} | |
run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO |