Skip to content

CI

CI #1306

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:
type_checking:
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
name: Check Types
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v1
- run: yarn install --frozen-lockfile
- run: yarn prepack
tests:
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
name: Base Tests
timeout-minutes: 5
runs-on: ubuntu-latest
strategy:
matrix:
node:
- "16"
- "18"
steps:
- uses: actions/checkout@v3
- 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:
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
name: Floating Dependencies
timeout-minutes: 5
runs-on: ubuntu-latest
strategy:
matrix:
node:
- "16"
- "18"
steps:
- uses: actions/checkout@v3
- 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:
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
name: "Compatibility"
timeout-minutes: 7
runs-on: ubuntu-latest
needs: [ tests, type_checking ]
strategy:
fail-fast: true
matrix:
ember-try-scenario:
- ember-4.4
- ember-4.8
- ember-release
- ember-beta
- ember-canary
- embroider
steps:
- uses: actions/checkout@v3
- uses: volta-cli/action@v1
with:
node-version: 16.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@v3
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.GitHubToken }}
- uses: actions/setup-node@v3
- 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@v3
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 }}