Skip to content

CI

CI #608

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
- master
schedule:
- cron: "0 3 * * 0" # every Sunday at 3am
env:
CI: true
jobs:
tests:
name: Base Tests
timeout-minutes: 5
runs-on: ubuntu-latest
strategy:
matrix:
node:
- "14"
- "16"
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v1
with:
node-version: ${{ matrix.node }}
- run: yarn install --frozen-lockfile
- name: Test with ${{ matrix.node }}
run: yarn ember test
floating-dependencies:
name: Floating Dependencies
timeout-minutes: 5
runs-on: ubuntu-latest
strategy:
matrix:
node:
- "14"
- "16"
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v1
with:
node-version: ${{ matrix.node }}
- run: yarn install --no-lockfile
- name: Test with Node ${{ matrix.node }}
run: yarn ember test
try-scenarios:
name: "Compatibility"
timeout-minutes: 7
runs-on: ubuntu-latest
needs: tests
strategy:
fail-fast: true
matrix:
ember-try-scenario:
- ember-3.25
- ember-3.28-lts
- first-inert
- ember-release
- ember-beta
- ember-canary
- ember-could-get-used-to-this
- embroider-safe
- embroider-optimized
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v1
with:
node-version: 14.x
- name: install dependencies
run: yarn install --frozen-lockfile
- name: test
run: node_modules/.bin/ember try:one ${{ matrix.ember-try-scenario }} --skip-cleanup
ember-cli-update:
if: github.event_name == 'pull_request' && github.event.pusher.name == 'renovate-bot'
runs-on: ubuntu-latest
needs: [tests, try-scenarios, floating-dependencies]
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.ECU_TOKEN }}
- uses: actions/setup-node@v2
- uses: kellyselden/ember-cli-update-action@v3
with:
autofix_command: yarn lint:fix
ignore_to: true
publish:
name: Release
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
needs: [tests, try-scenarios, floating-dependencies]
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: volta-cli/action@v1
- run: yarn install
- name: Release
run: yarn semantic-release
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}