ci: only test run affected packages

This commit is contained in:
iCrawl 2022-08-14 20:12:02 +02:00
parent 193b252672
commit 84a4b1f58a
No known key found for this signature in database
GPG key ID: 1AB888B16355FBB2
2 changed files with 34 additions and 17 deletions

View file

@ -1,13 +0,0 @@
#!/bin/bash
git diff HEAD^ HEAD --quiet .
if [[ "$VERCEL_GIT_COMMIT_REF" == "main" || $? -eq 1 ]]; then
# Proceed with the build
echo "✅ - Proceed"
exit 1;
else
# Don't build
echo "🛑 - Build cancelled"
exit 0;
fi

View file

@ -1,8 +1,38 @@
name: Tests
on: [push, pull_request]
jobs:
detect-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: |
'@discordjs/actions': 'packages/actions'
'@discordjs/builders': 'packages/builders'
'@discordjs/collection': 'packages/collection'
'discord.js': 'packages/discord.js'
'@discordjs/docgen': 'packages/docgen'
'@discordjs/proxy': 'packages/proxy'
'@discordjs/proxy-container': 'packages/proxy-container'
'@discordjs/rest': 'packages/rest'
'@discordjs/scripts': 'packages/scripts'
'@discordjs/voice': 'packages/voice'
'@discordjs/website': 'packages/website'
'@discordjs/ws': 'packages/ws'
tests:
name: Tests
needs: changes
strategy:
matrix:
package: ${{ fromJSON(needs.changes.outputs.packages) }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
@ -16,16 +46,16 @@ jobs:
cache-dependency-path: yarn.lock
- name: Install dependencies
run: yarn --immutable
run: yarn workspaces focus ${{ matrix.package }}
- name: Build dependencies
run: yarn build
run: yarn workspace ${{ matrix.package }} build
- name: ESLint
run: yarn lint
run: yarn workspace ${{ matrix.package }} lint
- name: Tests
run: yarn test
run: yarn workspace ${{ matrix.package }} test
- name: Upload Coverage
uses: ./packages/actions/src/uploadCoverage