Skip to content
Permalink
main
Switch branches/tags
View runs Go to file
 
 
Cannot retrieve contributors at this time
name: CI
on:
push:
branches:
- main
pull_request:
schedule:
# Run the workflow every Monday at 6 am CET
- cron: '0 4 * * MON'
env:
NODE_VERSION: 16
PERCY_PARALLEL_NONCE: ${{ github.run_id }}-${{ github.run_number }}
PERCY_PARALLEL_TOTAL: 9
jobs:
build-app:
name: Build app for testing
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out a copy of the repo
uses: actions/checkout@v3
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
cache: 'yarn'
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build app
run: yarn build:test
- name: Upload app
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
lint:
name: Lint files and dependencies
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out a copy of the repo
uses: actions/checkout@v3
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
cache: 'yarn'
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Lint
run: yarn lint
test-addon:
name: Test addon
needs: [build-app]
runs-on: ubuntu-latest
strategy:
matrix:
device:
- 'w1-h1'
- 'w2-h1'
- 'w3-h1'
- 'w1-h2'
- 'w2-h2'
- 'w3-h2'
- 'w1-h3'
- 'w2-h3'
- 'w3-h3'
include:
- device: 'w1-h1'
test-port: 7357
- device: 'w2-h1'
test-port: 7358
- device: 'w3-h1'
test-port: 7359
- device: 'w1-h2'
test-port: 7360
- device: 'w2-h2'
test-port: 7361
- device: 'w3-h2'
test-port: 7362
- device: 'w1-h3'
test-port: 7363
- device: 'w2-h3'
test-port: 7364
- device: 'w3-h3'
test-port: 7365
timeout-minutes: 10
steps:
- name: Check out a copy of the repo
uses: actions/checkout@v3
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
cache: 'yarn'
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Download app
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- name: Test
run: npx percy exec -- yarn test:ember --path=dist --test-port=${{ matrix.test-port }}
env:
DEVICE: ${{ matrix.device }}
PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }}
PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }}
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
test-compatibility:
name: Test compatibility
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
scenario:
- 'ember-lts-3.24'
- 'ember-lts-3.28'
- 'ember-release'
- 'ember-beta'
# - 'ember-canary'
- 'embroider-safe'
# - 'embroider-optimized'
device:
- 'w1-h3'
- 'w2-h3'
- 'w3-h3'
include:
- device: 'w1-h3'
test-port: 7363
- device: 'w2-h3'
test-port: 7364
- device: 'w3-h3'
test-port: 7365
timeout-minutes: 10
steps:
- name: Check out a copy of the repo
uses: actions/checkout@v3
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
cache: 'yarn'
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
run: yarn install --frozen-lockfile
# Test compatibility without Percy
- name: Test
run: yarn test:ember-compatibility ${{ matrix.scenario }} --- yarn test:ember --test-port=${{ matrix.test-port }}
env:
DEVICE: ${{ matrix.device }}