name: CI

on:
  push:
    branches:
      - master
      - renovate/*
    tags:
      - '*'
  pull_request:
  schedule:
    - cron:  '0 4 * * 5' # Fridays at 4am

jobs:
  test:
    name: Tests
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Setup node.js
        uses: actions/setup-node@v2
        with:
          node-version: 12
      - name: Install dependencies
        uses: bahmutov/npm-install@v1
      - name: Lint
        run: yarn lint
      - name: Test
        run: yarn test:ember

  test-no-lock:
    name: Floating Dependencies
    runs-on: ubuntu-latest
    needs:
      - test
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Setup node.js
        uses: actions/setup-node@v2
        with:
          node-version: 12
      - name: Install dependencies
        uses: bahmutov/npm-install@v1
        with:
          useLockFile: false
      - name: Test
        run: yarn test:ember

  test-try:
    name: Additional Tests
    runs-on: ubuntu-latest
    needs:
      - test
    strategy:
      matrix:
        scenario:
          - ember-lts-3.20
          - ember-lts-3.24
          - ember-release
          - ember-beta
          - ember-canary
          - ember-default-with-jquery
          - ember-classic
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Setup node.js
        uses: actions/setup-node@v2
        with:
          node-version: 12
      - name: Install dependencies
        uses: bahmutov/npm-install@v1
      - name: Test
        run: yarn ember try:one ${{ matrix.scenario }}
