CI #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v4 | |
- name: Setup node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- 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@v4 | |
- name: Setup node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install dependencies | |
uses: bahmutov/npm-install@v1 | |
with: | |
useLockFile: false | |
- name: Test | |
run: yarn test:ember | |
test-try: | |
name: Scenario ${{ matrix.scenario }}, BS${{ matrix.bootstrap }}, ${{ matrix.browser}} | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
continue-on-error: ${{ matrix.allow-failure || false }} | |
needs: | |
- test | |
strategy: | |
fail-fast: false | |
matrix: | |
allow-failure: | |
- false | |
scenario: | |
- ember-lts-4.8 | |
- ember-lts-5.4 | |
- ember-release | |
- ember-beta | |
- ember-canary | |
- embroider-safe | |
- embroider-optimized | |
bootstrap: | |
- 4 | |
- 5 | |
browser: | |
- Chrome | |
include: | |
- scenario: ember-release | |
browser: Firefox | |
bootstrap: 4 | |
- scenario: ember-release | |
browser: Firefox | |
bootstrap: 5 | |
- scenario: node-tests | |
- scenario: tracked-toolbox-v1 | |
bootstrap: 5 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install dependencies | |
uses: bahmutov/npm-install@v1 | |
with: | |
useLockFile: false | |
- name: Test | |
run: yarn ember try:one ${{ matrix.scenario }} | |
env: | |
BOOTSTRAPVERSION: ${{ matrix.bootstrap }} | |
BROWSER: ${{ matrix.browser }} | |
test-docs: | |
name: Docs | |
runs-on: ubuntu-latest | |
needs: | |
- test | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Dependencies of Ember Bootstrap addon | |
uses: bahmutov/npm-install@v1 | |
- name: Install Dependencies of docs app | |
uses: bahmutov/npm-install@v1 | |
with: | |
working-directory: docs | |
- name: Run Ember Tests | |
run: yarn test | |
working-directory: docs | |
- name: Build including API docs | |
run: yarn run docs:build | |
# TODO: Perform some basic steps that the build contains API docs | |
# and works as expected. | |
# test-browserstack: | |
# name: Browserstack Tests | |
# runs-on: ubuntu-latest | |
# needs: | |
# - test | |
# env: | |
# BROWSERSTACK_USERNAME: simonihmig1 | |
# BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v2 | |
# - name: Setup node.js | |
# uses: actions/setup-node@v1 | |
# with: | |
# node-version: 12 | |
# - name: Install dependencies | |
# uses: bahmutov/npm-install@v1 | |
# - name: Connect to Browserstack | |
# run: yarn ember browserstack:connect | |
# - name: Test | |
# run: yarn ember test --filter !FastBoot --config-file testem.browserstack.js | |
# env: | |
# BABELPOLYFILL: true | |
# - name: Disconnect from Browserstack | |
# if: always() | |
# run: yarn ember browserstack:disconnect |