mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
91 lines
2.4 KiB
YAML
91 lines
2.4 KiB
YAML
name: Tests
|
|
on: [push, pull_request]
|
|
jobs:
|
|
changes:
|
|
name: Detect changes
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
packages: ${{ steps.filter.outputs.changes }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- uses: dorny/paths-filter@v2
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
shared: &shared
|
|
- '!(packages)**'
|
|
'@discordjs/actions':
|
|
- *shared
|
|
- 'packages/actions'
|
|
'@discordjs/builders':
|
|
- *shared
|
|
- 'packages/builders'
|
|
'@discordjs/collection':
|
|
- *shared
|
|
- 'packages/collection'
|
|
'discord.js':
|
|
- 'packages/discord.js'
|
|
'@discordjs/docgen':
|
|
- *shared
|
|
- 'packages/docgen'
|
|
'@discordjs/proxy':
|
|
- *shared
|
|
- 'packages/proxy'
|
|
'@discordjs/proxy-container':
|
|
- *shared
|
|
- 'packages/proxy-container'
|
|
'@discordjs/rest':
|
|
- *shared
|
|
- 'packages/rest'
|
|
'@discordjs/scripts':
|
|
- *shared
|
|
- 'packages/scripts'
|
|
'@discordjs/voice':
|
|
- *shared
|
|
- 'packages/voice'
|
|
'@discordjs/website':
|
|
- *shared
|
|
- 'packages/website'
|
|
'@discordjs/ws':
|
|
- *shared
|
|
- 'packages/ws'
|
|
|
|
tests:
|
|
name: Tests
|
|
needs: changes
|
|
strategy:
|
|
matrix:
|
|
package: ${{ fromJSON(needs.changes.outputs.packages) }}
|
|
exclude:
|
|
- package: shared
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install node.js v16
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 16
|
|
cache: 'yarn'
|
|
|
|
- name: Install dependencies
|
|
run: yarn install --immutable
|
|
|
|
- name: Build dependencies
|
|
run: |
|
|
yarn workspace @discordjs/docgen build
|
|
yarn workspaces foreach --parallel --topological --recursive --from ${{ matrix.package }} build
|
|
|
|
- name: ESLint
|
|
run: yarn workspace ${{ matrix.package }} lint
|
|
|
|
- name: Tests
|
|
run: yarn workspace ${{ matrix.package }} test
|
|
|
|
- name: Upload Coverage
|
|
uses: ./packages/actions/src/uploadCoverage
|
|
if: github.repository_owner == 'discordjs'
|