Skip to content

[WIP DO NOT REVIEW] - Add synch pnpm #166

[WIP DO NOT REVIEW] - Add synch pnpm

[WIP DO NOT REVIEW] - Add synch pnpm #166

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
TURBO_API: http://127.0.0.1:9080
TURBO_TOKEN: ember-aria-utilities
TURBO_TEAM: ember-aria-utilities
jobs:
install_dependencies:
name: Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/pnpm
eslint:
name: ESLint {{ matrix.path }}
runs-on: ubuntu-latest
needs: [install_dependencies]
strategy:
fail-fast: true
matrix:
path:
- ./ember-aria-utilities
- ./testing/test-app
steps:
- uses: actions/checkout@v3
- name: TurboRepo local server
uses: felixmosh/turborepo-gh-artifacts@v2
with:
repo-token: ${{secrets.GITHUB_TOKEN}}
- uses: ./.github/actions/pnpm
- name: Lint + Format + Glint
run: pnpm lint
working-directory: ${{ matrix.path }}
commits:
name: Commit Messages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: ./.github/actions/pnpm
- uses: wagoid/commitlint-github-action@v5.2.0
with:
configFile: 'commitlint.config.cjs'
typecheck:
name: '${{ matrix.typescript-scenario }}'
runs-on: ubuntu-latest
timeout-minutes: 3
needs:
- install_dependencies
continue-on-error: true
strategy:
fail-fast: true
matrix:
typescript-scenario:
- typescript@4.5
- typescript@4.6
- typescript@4.7
- typescript@next
steps:
- uses: actions/checkout@v3
- name: TurboRepo local server
uses: felixmosh/turborepo-gh-artifacts@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: ./.github/actions/pnpm
- name: 'Change TS to ${{ matrix.typescript-scenario }}'
run: 'pnpm add --save-dev ${{ matrix.typescript-scenario}}'
working-directory: ./testing/test-app
- name: 'Type checking'
run: pnpm turbo run typecheck
default_tests:
name: Default Tests
timeout-minutes: 5
runs-on: ubuntu-latest
needs:
- install_dependencies
steps:
- uses: actions/checkout@v3
- name: TurboRepo local server
uses: felixmosh/turborepo-gh-artifacts@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: ./.github/actions/pnpm
- run: pnpm --filter test-app test:ember
floating_tests:
name: Floating Deps Test
timeout-minutes: 5
runs-on: ubuntu-latest
needs: [install_dependencies]
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/pnpm
- name: Install Dependencies (without lockfile)
run: rm pnpm-lock.yaml && pnpm install
- 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:
- ember-3.24
- ember-3.28
- ember-4.0.0
- ember-4.4
- ember-release
- ember-beta
- ember-canary
- "ember-release + embroider-safe"
- "ember-release + embroider-optimized"
- "'ember-lts-3.28 + embroider-optimized'"
- "'ember-lts-4.4 + embroider-optimized'"
steps:
- uses: actions/checkout@v3
- name: TurboRepo local server
uses: felixmosh/turborepo-gh-artifacts@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: ./.github/actions/pnpm
- name: Run Tests
working-directory: ./testing/test-app
run: node_modules/.bin/ember try:one ${{matrix.try-scenario}} --skip-cleanup --- pnpm run --filter test-app test
release:
name: Release
timeout-minutes: 5
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
needs:
- default_tests
- floating_tests
- typecheck
- try_scenarios
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- name: TurboRepo local server
uses: felixmosh/turborepo-gh-artifacts@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: ./.github/actions/pnpm
- run: pnpm build
- name: Release
run: ./node_modules/.bin/semantic-release
working-directory: ./ember-aria-utilities
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publishDocs:
name: Publish Docs to Cloudflare Pages
runs-on: ubuntu-latest
needs:
- install_dependencies
permissions:
contents: read
deployments: write
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ./.github/actions/pnpm
- run: pnpm build:docs
- name: Publish to Cloudflare Pages
id: publishStep
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.UX_OSS_CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.UX_OSS_CLOUDFLARE_ACCOUNT_ID }}
projectName: ember-aria-utilities
directory: ./docs/dist
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
- uses: marocchino/sticky-pull-request-comment@v2
with:
message: |+
## Preview URLs
Env: ${{ steps.publishStep.outputs.environment }}
Docs: ${{ steps.publishStep.outputs.url }}