Skip to content

update dependencies #591

update dependencies

update dependencies #591

Workflow file for this run

name: CI
on: [push, pull_request, workflow_dispatch]
concurrency:
group: '${{ github.workflow }} - ${{ github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
check-lint-and-formatting:
name: Check lint and formatting with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node-version: [22, latest]
os: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} and Install dependencies on ${{ matrix.os }}
uses: ./.github/actions/prepare
with:
node-version: ${{ matrix.node-version }}
- name: Check for duplicate packages
run: yarn dedupe --check --strategy highest
- name: Check formatting
run: yarn workspaces foreach -Ap -j unlimited run format-check
- name: Lint files
run: yarn workspaces foreach -Ap -j unlimited run lint
test-types:
name: Test types with TypeScript ${{ matrix.ts }} on ${{ matrix.os }} and Node.js ${{ matrix.node-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node-version: [22, latest]
os: [ubuntu-latest]
ts: [5.3, 5.4, 5.5, 5.6, 5.7, 5.8]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} and Install dependencies on ${{ matrix.os }}
uses: ./.github/actions/prepare
with:
node-version: ${{ matrix.node-version }}
- name: Install TypeScript ${{ matrix.ts }}
run: yarn up typescript@${{ matrix.ts }}
- name: Run type tests
run: yarn workspaces foreach -Ap -j unlimited run test-types
build:
name: Build ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node-version: [20, 22, latest]
os: [ubuntu-latest, windows-latest, macos-latest]
package:
[
{ directory: 'eslint', name: '@aryaemami59/eslint-config' },
{ directory: 'prettier', name: '@aryaemami59/prettier-config' },
{ directory: 'typescript', name: '@aryaemami59/tsconfig' },
{ directory: 'vitest', name: '@aryaemami59/vitest-config' },
]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} and Install dependencies on ${{ matrix.os }}
uses: ./.github/actions/prepare
with:
node-version: ${{ matrix.node-version }}
- name: Pack ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
working-directory: packages/${{ matrix.package.directory }}
id: pack
run: yarn pack
- name: Upload artifact ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
uses: actions/upload-artifact@v4
id: artifact-upload-step
with:
name: ${{ matrix.package.directory }}-${{ matrix.node-version }}-${{ matrix.os }}
path: packages/${{ matrix.package.directory }}/package.tgz
- name: Did we fail?
if: failure()
run: ls -R packages/${{ matrix.package.directory }}
test:
name: Test ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
needs: [build]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node-version: [20, 22, latest]
package:
[
{ directory: 'eslint', name: '@aryaemami59/eslint-config' },
{ directory: 'prettier', name: '@aryaemami59/prettier-config' },
{ directory: 'typescript', name: '@aryaemami59/tsconfig' },
{ directory: 'vitest', name: '@aryaemami59/vitest-config' },
]
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} and Install dependencies on ${{ matrix.os }}
uses: ./.github/actions/prepare
with:
node-version: ${{ matrix.node-version }}
- name: Download build artifact for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
uses: actions/download-artifact@v4
with:
name: ${{ matrix.package.directory }}-${{ matrix.node-version }}-${{ matrix.os }}
path: examples/${{ matrix.package.directory }}
- name: Display folder structure of examples/${{ matrix.package.directory }}
run: ls -R examples/${{ matrix.package.directory }}
- name: Install build artifact for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
working-directory: examples/${{ matrix.package.directory }}
run: yarn add -D ./package.tgz
- name: Test examples for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
working-directory: examples/${{ matrix.package.directory }}
run: yarn test
- name: Did we fail?
if: failure()
run: |
yarn why ${{ matrix.package.name }}
ls -R
are-the-types-wrong:
name: Check if the type definitions for ${{ matrix.package.name }} are correct with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: [build]
strategy:
fail-fast: false
matrix:
node-version: [22, latest]
package:
[
{ directory: 'eslint', name: '@aryaemami59/eslint-config' },
{ directory: 'prettier', name: '@aryaemami59/prettier-config' },
{ directory: 'typescript', name: '@aryaemami59/tsconfig' },
{ directory: 'vitest', name: '@aryaemami59/vitest-config' },
]
os: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} and Install dependencies on ${{ matrix.os }}
uses: ./.github/actions/prepare
with:
node-version: ${{ matrix.node-version }}
- name: Download build artifact for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
uses: actions/download-artifact@v4
with:
name: ${{ matrix.package.directory }}-${{ matrix.node-version }}-${{ matrix.os }}
path: packages/${{ matrix.package.directory }}
- name: Display folder structure
run: ls -l .
- name: Run are-the-types-wrong for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
run: yarn attw packages/${{ matrix.package.directory }}/package.tgz --format table
- name: Did we fail?
if: failure()
run: ls -R
publint:
name: Check if the package.json for ${{ matrix.package.name }} is correct with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
needs: [build]
strategy:
fail-fast: false
matrix:
node-version: [22, latest]
package:
[
{ directory: 'eslint', name: '@aryaemami59/eslint-config' },
{ directory: 'prettier', name: '@aryaemami59/prettier-config' },
{ directory: 'typescript', name: '@aryaemami59/tsconfig' },
{ directory: 'vitest', name: '@aryaemami59/vitest-config' },
]
os: [ubuntu-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }} and Install dependencies on ${{ matrix.os }}
uses: ./.github/actions/prepare
with:
node-version: ${{ matrix.node-version }}
- name: Download build artifact for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
uses: actions/download-artifact@v4
with:
name: ${{ matrix.package.directory }}-${{ matrix.node-version }}-${{ matrix.os }}
path: packages/${{ matrix.package.directory }}
- name: Display folder structure
run: ls -l .
- name: Run publint for ${{ matrix.package.name }} with Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
run: yarn packages/${{ matrix.package.directory }} run publint --strict ./package.tgz
- name: Did we fail?
if: failure()
run: ls -R