Skip to content

Add push-dist workflow so folks can point at unreleased GH code if they wish #783

Add push-dist workflow so folks can point at unreleased GH code if they wish

Add push-dist workflow so folks can point at unreleased GH code if they wish #783

Workflow file for this run

name: CI
on:
push:
branches:
- main
- master
pull_request: {}
concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Check Linting and TS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json' # uses Volta!
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Lint Addon
run: pnpm lint
working-directory: addon
- name: Lint Test App
run: pnpm lint
working-directory: test-app
test:
name: "Tests"
runs-on: ${{ matrix.os }}
timeout-minutes: 10
needs: "lint"
strategy:
matrix:
os: [ubuntu-latest]
browser: [chrome]
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json' # uses Volta!
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Test
run: pnpm test:ember --launch ${{ matrix.browser }}
working-directory: test-app
floating-dependencies:
name: "Floating Dependencies"
runs-on: ${{ matrix.os }}
needs: "lint"
strategy:
matrix:
os: [ubuntu-latest]
browser: [chrome]
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json' # uses Volta!
cache: 'pnpm'
- name: Install Dependencies (without lockfile)
run: rm pnpm-lock.yaml && pnpm install --no-lockfile
- name: Test
run: pnpm test:ember --launch ${{ matrix.browser }}
working-directory: test-app
try-scenarios:
name: ${{ matrix.try-scenario }}
runs-on: ubuntu-latest
needs: "test"
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
try-scenario:
- ember-lts-3.24
- ember-lts-3.28
- ember-lts-4.12
- ember-lts-5.4
- ember-lts-5.8
- ember-lts-5.12
- ember-release
- ember-beta
- ember-canary
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json' # uses Volta!
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Run Tests
working-directory: test-app
run: >-
node_modules/.bin/ember try:one ${{ matrix.try-scenario }}
--skip-cleanup
typescript-compatibility:
name: TS Compatibility
runs-on: ubuntu-latest
needs: "lint"
strategy:
fail-fast: false
matrix:
ts-version:
- '5.4'
- '5.5'
- '5.6'
- '5.7'
- 'next'
continue-on-error: ${{ matrix.ts-version == 'next' }}
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json' # uses Volta!
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Install TS version under test
run: pnpm add --save-dev typescript@${{ matrix.ts-version }}
working-directory: addon
- name: Calculate extra args
id: extra-args
run: |
# In later TS versions noEmit takes precedence over emitDeclarationOnly
if [[ "${{ matrix.ts-version }}" == "5.4" || "${{ matrix.ts-version }}" == "5.5" ]]; then
echo "extra-args=--emitDeclarationOnly false" >> $GITHUB_OUTPUT
fi
- name: Type check
run: pnpm tsc --noEmit ${{ steps.extra-args.outputs.extra-args }}
working-directory: addon