name: tests on: pull_request: push: workflow_dispatch: jobs: server-tests: strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} defaults: run: working-directory: Overlord-Server steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Install server dependencies run: bun install --frozen-lockfile - name: Run server tests run: bun test ./src client-tests: strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} defaults: run: working-directory: Overlord-Client steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: Overlord-Client/go.mod cache: true cache-dependency-path: | Overlord-Client/go.sum go.work.sum - name: Download Go modules run: go mod download - name: Run client tests run: go test ./...