name: CI Build

on:
  push:
    branches:
      - master
      - 'v*'
  pull_request: {}
  schedule:
    - cron: '0 3 * * *' # daily, at 3am

jobs:
  test:
    name: Tests
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-latest, macOS-latest]

    steps:
      - if: matrix.os == 'macOS-latest'
        run: |
          brew update
          brew cask install google-chrome
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 10.x
      - name: install dependencies
        run: yarn install
      - name: lint
        run: yarn lint:js
      - name: test
        run: yarn test
      - name: test node
        run: yarn test:node

  try-scenarios:
    name: ${{ matrix.ember-try-scenario }}

    runs-on: ubuntu-latest

    needs: test

    strategy:
      fail-fast: true
      matrix:
        ember-try-scenario:
          - ember-lts-2.18
          - ember-lts-3.4
          - ember-lts-3.8
          - ember-lts-3.12
          - ember-release
          - ember-beta
          - ember-canary
          - ember-default
          - ember-default-with-jquery

    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x
      - name: install dependencies
        run: yarn install
      - name: test
        env:
          EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }}
        run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO
