name: Gradido Submodules Test CI on: push jobs: files-changed: name: Detect File Changes - Submodules runs-on: ubuntu-latest outputs: core: ${{ steps.changes.outputs.core }} database: ${{ steps.changes.outputs.database }} shared: ${{ steps.changes.outputs.shared }} config: ${{ steps.changes.outputs.config }} 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 & Build - Submodules if: needs.files-changed.outputs.core == 'true' || needs.files-changed.outputs.database == 'true' || needs.files-changed.outputs.shared == 'true' || needs.files-changed.outputs.config == 'true' needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v5 - name: install bun uses: oven-sh/setup-bun@v2 with: bun-version-file: '.bun-version' - name: Database & redis for tests using database and/or redis-semaphore run: docker compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb redis - name: install dependencies run: | bun install --filter core --frozen-lockfile bun install --global turbo@^2 - name: typecheck, locales && unit test run: turbo core#test core#typecheck core#locales database#test database#typecheck shared#test shared#typecheck config-schema#test config-schema#typecheck