add workflow for core

This commit is contained in:
einhornimmond 2025-06-21 15:42:53 +02:00
parent f277a9c2b0
commit bd6e804a56
5 changed files with 56 additions and 8 deletions

View File

@ -39,6 +39,9 @@ config: &config
shared: &shared
- 'shared/**/*'
core: &core
- 'core/**/*'
database: &database
- 'database/**/*'

View File

@ -9,6 +9,8 @@ jobs:
outputs:
backend: ${{ steps.changes.outputs.backend }}
config: ${{ steps.changes.outputs.config }}
core: ${{ steps.changes.outputs.core }}
shared: ${{ steps.changes.outputs.shared }}
database: ${{ steps.changes.outputs.database }}
docker-compose: ${{ steps.changes.outputs.docker-compose }}
mariadb: ${{ steps.changes.outputs.mariadb }}
@ -24,7 +26,7 @@ jobs:
list-files: shell
build_test:
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.config == 'true' || needs.files-changed.outputs.database == 'true'
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.config == 'true' || needs.files-changed.outputs.core == 'true' || needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.shared == 'true' || needs.files-changed.outputs.docker-compose == 'true'
name: Docker Build Test - Backend
needs: files-changed
runs-on: ubuntu-latest
@ -36,7 +38,7 @@ jobs:
run: docker build -f ./backend/Dockerfile --target production -t "gradido/backend:production" .
unit_test:
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.docker-compose == 'true' || needs.files-changed.outputs.mariadb == 'true' || needs.files-changed.outputs.config == 'true'
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.docker-compose == 'true' || needs.files-changed.outputs.mariadb == 'true' || needs.files-changed.outputs.config == 'true' || needs.files-changed.outputs.core == 'true' || needs.files-changed.outputs.shared == 'true'
name: Unit tests - Backend
needs: files-changed
runs-on: ubuntu-latest
@ -64,7 +66,7 @@ jobs:
run: turbo backend#test
typecheck:
if: needs.files-changed.outputs.backend == 'true'
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.core == 'true' || needs.files-changed.outputs.shared == 'true' || needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.config == 'true'
name: Typecheck - Backend
needs: files-changed
runs-on: ubuntu-latest

44
.github/workflows/test_core.yml vendored Normal file
View File

@ -0,0 +1,44 @@
name: Gradido Core Test CI
on: push
jobs:
files-changed:
name: Detect File Changes - Core
runs-on: ubuntu-latest
outputs:
core: ${{ steps.changes.outputs.core }}
database: ${{ steps.changes.outputs.database }}
shared: ${{ steps.changes.outputs.shared }}
steps:
- uses: actions/checkout@v3.3.0
- name: Check for core file changes
uses: dorny/paths-filter@v2.11.1
id: changes
with:
token: ${{ github.token }}
filters: .github/file-filters.yml
list-files: shell
build:
name: Unit Tests, typecheck - Core
if: needs.files-changed.outputs.core == 'true' || needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.shared == 'true'
needs: files-changed
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: install bun
uses: oven-sh/setup-bun@v2
- name: install dependencies
run: bun install --filter core --frozen-lockfile
- name: typecheck
run: cd core && yarn typecheck
- name: unit tests
run: cd core && yarn test

View File

@ -8,6 +8,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
database: ${{ steps.changes.outputs.database }}
shared: ${{ steps.changes.outputs.shared }}
docker-compose: ${{ steps.changes.outputs.docker-compose }}
mariadb: ${{ steps.changes.outputs.mariadb }}
steps:
@ -22,7 +23,7 @@ jobs:
list-files: shell
build:
if: needs.files-changed.outputs.database == 'true'
if: needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.docker-compose == 'true' || needs.files-changed.outputs.shared == 'true'
name: Docker Build Test - Database up
needs: files-changed
runs-on: ubuntu-latest
@ -34,7 +35,7 @@ jobs:
run: docker build --target build -t "gradido/database:build" -f database/Dockerfile .
database_migration_test:
if: needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.docker-compose == 'true' || needs.files-changed.outputs.mariadb == 'true'
if: needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.docker-compose == 'true' || needs.files-changed.outputs.mariadb == 'true' || needs.files-changed.outputs.shared == 'true'
name: Database Migration Test - Up, Test + Reset
needs: files-changed
runs-on: ubuntu-latest

View File

@ -8,8 +8,6 @@ jobs:
runs-on: ubuntu-latest
outputs:
shared: ${{ steps.changes.outputs.shared }}
docker-compose: ${{ steps.changes.outputs.docker-compose }}
database: ${{ steps.changes.outputs.database }}
steps:
- uses: actions/checkout@v3.3.0
@ -23,7 +21,7 @@ jobs:
build:
name: Unit Tests, typecheck - Shared
if: needs.files-changed.outputs.shared == 'true' || needs.files-changed.outputs.docker-compose == 'true' || needs.files-changed.outputs.database == 'true'
if: needs.files-changed.outputs.shared == 'true'
needs: files-changed
runs-on: ubuntu-latest
steps: