name: CI

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

jobs:
  lint:
    name: Linting
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x

      - name: get yarn cache dir
        id: yarn-cache
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - uses: actions/cache@v1
        with:
          path: ${{ steps.yarn-cache.outputs.dir }}
          key: ${{ runner.os }}-yarn-lint-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: install dependencies
        run: yarn install

      - name: lint
        run: yarn lint

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

    strategy:
      matrix:
        os: [ubuntu-latest]
        node-version: [8.x, 10.x, 12.x]

    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}

      - name: get yarn cache dir
        id: yarn-cache
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - uses: actions/cache@v1
        with:
          path: ${{ steps.yarn-cache.outputs.dir }}
          key: ${{ runner.os }}-yarn-test-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: install dependencies
        run: yarn install

      - name: node tests
        run: yarn test:node

  ember-try-scenarios:
    name: Ember Tests (${{ matrix.test-suite }})

    runs-on: ubuntu-latest

    strategy:
      matrix:
        test-suite:
          - test:strip
          - test:keep

    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x

      - name: get yarn cache dir
        id: yarn-cache
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - uses: actions/cache@v1
        with:
          path: ${{ steps.yarn-cache.outputs.dir }}
          key: ${{ runner.os }}-yarn-ember-try-${{ matrix.test-suite }}-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: install dependencies
        run: yarn install

      - name: test
        env:
          TEST_SUITE: ${{ matrix.test-suite }}
        run: yarn test:all --skip-cleanup

Use GitHub Actions for CI
Use GitHub Actions for CI
