Skip to content

Test in all supported browsers #5465

Test in all supported browsers

Test in all supported browsers #5465

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request: {}
schedule:
- cron: "15 6 * * 2" # weekly, on Tuesday morning
concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true
env:
SW_DISABLED: true
COVERAGE: false
jobs:
lint:
name: "Lint"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: 18.17
cache: npm
- name: Install Dependencies
run: npm ci
- name: Lint
run: npm run lint
test:
name: "Test"
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install Dependencies
run: npm ci
- name: Run Tests
run: npm run test:ember
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: install dependencies
run: npm ci
- name: test build
run: npm run build
test-with-embroider:
name: Test With Embroider
runs-on: ubuntu-latest
timeout-minutes: 15
env:
BUILD_WITH_EMBROIDER: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.17
cache: npm
- run: npm ci
- run: npm run test:ember
build-with-embroider:
name: Build With Embroider
runs-on: ubuntu-latest
timeout-minutes: 10
env:
BUILD_WITH_EMBROIDER: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.17
cache: npm
- run: npm ci
- run: npm run build
browserstack-test:
name: Browserstack ${{ matrix.launcher }}
runs-on: ubuntu-latest
timeout-minutes: 20
needs: [test]
strategy:
fail-fast: false
max-parallel: 2
matrix:
launcher:
- BS_OSX_Safari
- BS_MS_Edge
- BS_IOS_SAFARI
- BS_CHROME_ANDROID
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
- name: install dependencies
run: npm ci
- name: test:browserstack ${{ matrix.launcher }}
env:
BROWSERSTACK_USERNAME: iliosgithub_1UGowwsqE
# This is in plaintext on purpose. It has no privileged access to anything (this is a free
# account) and it allows us to run browserstack tests against PRs.
BROWSERSTACK_ACCESS_KEY: yJjw6sE6izkpUw9oasGT
# The following is necessary when using browserstack under matrix builds on Github Actions
# The Job ID + Run ID isn't unique across matrix runs and will fail when run simultaneously
BROWSERSTACK_LOCAL_ID_SUFFIX: ${{ matrix.launcher }}
run: |
npm run browserstack:connect
npm run test:ember:browserstack -- --launch=${{ matrix.launcher }}
npm run browserstack:disconnect
npm run browserstack:results
firefox-test:
name: Browser Tests (Firefox)
runs-on: ubuntu-latest
timeout-minutes: 20
needs: [test]
strategy:
fail-fast: false
matrix:
firefox-version: [latest-esr]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
- name: install dependencies
run: npm ci
- name: Setup firefox
uses: browser-actions/setup-firefox@latest
with:
firefox-version: ${{ matrix.firefox-version }}
- run: firefox --version
- name: test
run: npm run test:ember -- --launch=Firefox