Skip to content

Update Node.js

Update Node.js #757

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
env:
CI: true
jobs:
install_dependencies:
name: Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
lint:
name: Lint
runs-on: ubuntu-latest
needs: [install_dependencies]
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- name: Lint
run: pnpm lint
build:
name: Build Tests
needs: [install_dependencies]
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- uses: ./.github/actions/assert-build
typecheck:
name: '${{ matrix.typescript-scenario }}'
runs-on: ubuntu-latest
timeout-minutes: 2
needs: [build]
continue-on-error: true
strategy:
fail-fast: true
matrix:
typescript-scenario:
- typescript@5.5
- typescript@5.6
- typescript@5.7
- typescript@5.8
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- uses: ./.github/actions/download-built-package
- name: 'Change TS to ${{ matrix.typescript-scenario }}'
run: 'pnpm add --save-dev ${{ matrix.typescript-scenario}}'
working-directory: ./test-app
- name: 'Type checking'
run: |
pnpm --filter test-app exec tsc -v;
pnpm --filter test-app exec ember-tsc --version;
pnpm --filter test-app exec ember-tsc --noEmit;
default_tests:
name: Default Tests
timeout-minutes: 5
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- uses: ./.github/actions/download-built-package
- run: pnpm --filter test-app test:ember
floating_tests:
name: Floating Deps Test
timeout-minutes: 5
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- name: Install Dependencies (without lockfile)
run: rm pnpm-lock.yaml && pnpm install
- uses: ./.github/actions/download-built-package
- run: pnpm --filter test-app test:ember
try_scenarios:
name: ${{ matrix.try-scenario }}
timeout-minutes: 5
runs-on: ubuntu-latest
needs: [default_tests]
strategy:
fail-fast: false
matrix:
try-scenario:
# There is really nothing crazy
# going on in this library, so we don't exactly
# need to test _everything_
# - ember-lts-3.28
# - ember-lts-4.4
# - ember-lts-4.12
# - ember-lts-5.4
# - ember-lts-5.12
- ember-release
- ember-beta
- ember-canary
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- uses: ./.github/actions/download-built-package
- name: Run Tests
working-directory: ./test-app
run: |
if [[ "${{matrix.try-scenario}}" == "'ember-lts-4.8 + embroider-optimized'" ]]; then
echo 'Running custom try scenario due to peer deps resolving incorrectly (due to installation issues)'
pnpm add --save-dev ember-source@~4.8.0
pnpm add --save-dev @embroider/core @embroider/webpack @embroider/compat
pnpm ember test
else
node_modules/.bin/ember try:one ${{ matrix.try-scenario }} --skip-cleanup
fi
DeployProduction:
name: "Deploy: Production"
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
timeout-minutes: 15
needs: [build]
strategy:
matrix:
app:
- { path: "./docs-app/dist", cloudflareName: "ue-table", name: "docs" }
permissions:
contents: read
deployments: write
steps:
- uses: actions/checkout@v6
- uses: wyvox/action-setup-pnpm@v3
- uses: ./.github/actions/download-built-package
- run: pnpm docs:build
working-directory: docs-api
- run: pnpm build:prod
working-directory: docs-app
- name: Publish ${{ matrix.app.id }}
uses: cloudflare/pages-action@v1.5.0
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: ${{ matrix.app.cloudflareName }}
directory: ${{ matrix.app.path }}
gitHubToken: ${{ secrets.GITHUB_TOKEN }}