# This file was autogenerated by create-github-actions-setup-for-ember-addons.
#
# You can upgrade the GitHub Actions workflow to the latest blueprints used
# by Create GitHub Actions setup for Ember Addons by running it again:
#
# - `yarn create github-actions-setup-for-ember-addons` if using yarn and
# - `npm init github-actions-setup-for-ember-addons` if using NPM.
#
# See https://github.com/jelhan/create-github-actions-setup-for-ember-addon for
# details.
#
# The following lines contain the configuration used in the last run. Please do
# not change them. Doing so could break upgrade flow.
#
#$ browsers:
#$   - chrome
#$ emberTryScenarios:
#$   - scenario: ember-lts-3.20
#$   - scenario: ember-release
#$   - scenario: ember-beta
#$   - scenario: ember-canary
#$   - scenario: ember-default-with-jquery
#$   - scenario: ember-classic
#$ nodeVersion: 12.x
#$ packageManager: yarn
#

name: CI

on:
  push:
    branches:
      - master
  pull_request:

env:
  NODE_VERSION: '14.x'

jobs:
  lint:
    name: Lint
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 1

    - uses: actions/setup-node@v2-beta
      with:
        node-version: '${{ env.NODE_VERSION }}'

    - name: Install Dependencies
      run: yarn install --frozen-lockfile

    - name: Lint
      run: yarn lint


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

    strategy:
      matrix:
        os: [ubuntu-latest]
        browser: [chrome]

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 1

    - uses: actions/setup-node@v2-beta
      with:
        node-version: '${{ env.NODE_VERSION }}'

    - name: Install Dependencies
      run: yarn install --frozen-lockfile

    - name: Test
      run: yarn test:ember --launch ${{ matrix.browser }}


  floating-dependencies:
    name: Floating Dependencies
    runs-on: ${{ matrix.os }}
    needs: lint
    timeout-minutes: 10

    strategy:
      matrix:
        os: [ubuntu-latest]
        browser: [chrome]

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 1

    - uses: actions/setup-node@v2-beta
      with:
        node-version: '${{ env.NODE_VERSION }}'

    - name: Install Dependencies
      run: yarn install --no-lockfile --non-interactive

    - name: Test
      run: yarn test:ember --launch ${{ matrix.browser }}


  try-scenarios:
    name: Tests - ${{ matrix.ember-try-scenario }}
    runs-on: ubuntu-latest
    continue-on-error: true
    needs: test

    strategy:
      fail-fast: true
      matrix:
        ember-try-scenario: [
          ember-lts-3.28,
          ember-release,
          ember-beta,
          ember-canary,
          ember-classic,
          embroider-safe,
          embroider-optimized
        ]

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 1

    - uses: actions/setup-node@v2-beta
      with:
        node-version: '${{ env.NODE_VERSION }}'

    - name: Install Dependencies
      run: yarn install --frozen-lockfile

    - name: Test
      env:
        EMBER_TRY_SCENARIO: ${{ matrix.ember-try-scenario }}
      run: node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO
