CI #3672
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 | |
# These trigger patterns based on https://github.com/broccolijs/broccoli/pull/436 | |
on: | |
pull_request: | |
push: | |
# filtering branches here prevents duplicate builds from pull_request and push | |
branches: | |
- master | |
- 'v*' | |
# always run CI for tags | |
tags: | |
- '*' | |
# early issue detection: run CI weekly on Sundays | |
schedule: | |
- cron: '0 6 * * 0' | |
env: | |
CI: true | |
jobs: | |
test-locked-deps: | |
name: Test (linux, locked dependencies) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Install Node | |
uses: volta-cli/action@v4 | |
# https://github.com/expo/expo-github-action/issues/20#issuecomment-541676895 | |
- name: Raise Watched File Limit | |
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
- name: Install Dependencies | |
run: yarn install --frozen-lockfile | |
- name: Lint JS/TS Code | |
run: yarn lint:js | |
- name: Prepare CI Environment | |
run: yarn ci:prepare | |
- name: Ember App Tests | |
run: yarn ci:test:app | |
- name: Node Tests | |
run: yarn ci:test:node | |
test-windows: | |
name: Test (windows, locked dependencies) | |
runs-on: windows-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Install Node | |
uses: volta-cli/action@v4 | |
- name: Install Dependencies | |
run: yarn install --frozen-lockfile | |
- name: Prepare CI Environment | |
run: yarn ci:prepare | |
- name: Ember App Tests | |
run: yarn ci:test:app | |
- name: Node Tests | |
run: yarn ci:test:node | |
test-floating: | |
name: Test (linux, floating dependencies) | |
runs-on: ubuntu-latest | |
needs: [test-locked-deps] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Install Node | |
uses: volta-cli/action@v4 | |
- name: Raise Watched File Limit | |
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
- name: Install Dependencies | |
run: yarn install --no-lockfile | |
- name: Prepare CI Environment | |
run: yarn ci:prepare | |
- name: Ember App Tests | |
run: yarn ci:test:app | |
- name: Node Tests | |
run: yarn ci:test:node | |
test-ts-cli-matrix: | |
name: Test | |
runs-on: ubuntu-latest | |
needs: [test-locked-deps] | |
strategy: | |
fail-fast: false | |
matrix: | |
deps: | |
- ember-cli@latest | |
- ember-cli@beta | |
- typescript@latest | |
- typescript@next | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Install Node | |
uses: volta-cli/action@v4 | |
- name: Raise Watched File Limit | |
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
- name: Install Dependencies | |
run: yarn add --dev ${{ matrix.deps }} | |
- name: Prepare CI Environment | |
run: yarn ci:prepare | |
- name: Ember App Tests | |
run: yarn ci:test:app | |
- name: Node Tests | |
run: yarn ci:test:node | |