.github/workflows/ci.yml
name: CI
on:
push:
branches:
- main
- master
tags:
- 'v*'
pull_request: {}
concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Linting
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v4
- run: yarn install --non-interactive
- run: yarn lint
test-ember:
name: Tests / Ember
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v4
- run: yarn install --non-interactive
- run: yarn test:ember
test-node:
name: Tests / Node
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v4
- run: yarn install --non-interactive
- uses: paambaati/codeclimate-action@v3.2.0
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageCommand: yarn node-test
test-float:
name: Tests / floating dependencies
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v4
- run: yarn install --ignore-lockfile --non-interactive
- run: yarn test:ember
try-scenarios:
name: Tests / ${{ matrix.try-scenario }}
runs-on: ubuntu-latest
needs: [lint, test-ember]
timeout-minutes: 10
strategy:
matrix:
try-scenario:
- ember-lts-3.28
- ember-lts-4.4
- ember-release
- ember-beta
- ember-canary
- ember-classic
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v4
- run: yarn install --non-interactive
- run: yarn test:one ${{ matrix.try-scenario }}