zonkyio/ember-web-app

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
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 }}