Merge pull request #385 from eco-repositories/dependabot/npm_and_yarn… #962
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test change | |
on: | |
push: | |
paths: | |
- 'packages/**' | |
- '!packages/playground/**' | |
- '.eslintrc.jsonc' | |
- 'tsconfig.json' | |
- '.gitmodules' | |
- 'package-lock.json' | |
- 'package.json' | |
- '.github/workflows/**' | |
- '*.dockerfile' | |
- 'docker-compose.yaml' | |
jobs: | |
audit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: '/.nvmrc' | |
- name: Run audit | |
run: npm audit | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: '/.nvmrc' | |
- name: Install dependencies | |
run: npm ci | |
- name: Lint all source files | |
run: npm run lint -ws --if-present | |
build: | |
runs-on: ubuntu-latest | |
needs: | |
- audit | |
- lint | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: '/.nvmrc' | |
- name: Install submodules | |
run: npm run libs:install | |
- name: Install dependencies | |
run: npm ci | |
- name: Build all submodules | |
run: npm run libs:build | |
- name: Build all workspaces | |
run: npm run build -w shared -w client -w server | |
test: | |
needs: | |
- build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
workspace: | |
- client | |
- server | |
- shared | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: '/.nvmrc' | |
- name: Install submodules | |
run: npm run libs:install | |
- name: Install dependencies of '${{ matrix.workspace }}' | |
run: npm ci --workspace shared --workspace ${{ matrix.workspace }} | |
- name: Build all submodules | |
run: npm run libs:build | |
- name: Test '${{ matrix.workspace }}' on ${{ matrix.os }} | |
run: npm --workspace ${{ matrix.workspace }} test |