mike-north/ember-api-actions

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: CI

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

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - uses: volta-cli/action@v1
    - name: Get yarn cache directory path
      id: yarn-cache-dir-path
      run: echo "::set-output name=dir::$(yarn cache dir)"
    - uses: actions/cache@v1
      id: yarn-cache
      with:
        path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
        key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
          ${{ runner.os }}-yarn-
    - run: yarn install --frozen-lockfile
    - run: yarn lint:ts
    - run: yarn lint:hbs
    - run: yarn ember test

  floating-deps:
    name: Floating Dependencies
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - uses: volta-cli/action@v1
    - name: Get yarn cache directory path
      id: yarn-cache-dir-path
      run: echo "::set-output name=dir::$(yarn cache dir)"
    - uses: actions/cache@v1
      id: yarn-cache
      with:
        path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
        key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
          ${{ runner.os }}-yarn-
    - run: yarn install --no-lockfile
    - run: yarn ember test

  ember-try:
    name: Ember Try
    needs: [test, floating-deps]
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ember-try-scenario:
          - ember-lts-3.20
          - ember-lts-3.24
          - ember-release
          - ember-beta
          - ember-canary
          - ember-default-with-jquery
    steps:
    - uses: actions/checkout@v1
    - uses: volta-cli/action@v1
    - name: Get yarn cache directory path
      id: yarn-cache-dir-path
      run: echo "::set-output name=dir::$(yarn cache dir)"
    - uses: actions/cache@v1
      id: yarn-cache
      with:
        path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
        key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
          ${{ runner.os }}-yarn-
    - run: yarn install --frozen-lockfile
    - run: yarn ember try:one ${{ matrix.ember-try-scenario }}