Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
2.9 kB ยท 106 lines
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107# https://github.com/kentcdodds/kentcdodds.com/blob/main/.github/workflows/deployment.ymlname: Testson: push: branches: - "main" pull_request: branches: [main]
permissions: contents: read
jobs: # Every DB-touching package gets its own job, and therefore its own sqld # container. Sharing one database across turbo tasks let suites clobber each # other's rows (see docs/adr/0008-isolated-test-databases.md). test: name: ๐งช ${{ matrix.name }} runs-on: ubuntu-latest timeout-minutes: 15 strategy: fail-fast: false matrix: include: - name: services filter: "--filter=@openstatus/services" database: true - name: server filter: "--filter=@openstatus/server" database: true - name: api filter: "--filter=@openstatus/api" database: true - name: workflows filter: "--filter=@openstatus/workflows" database: true - name: subscriptions filter: "--filter=@openstatus/subscriptions" database: true - name: rest filter: >- --filter=!@openstatus/services --filter=!@openstatus/server --filter=!@openstatus/api --filter=!@openstatus/workflows --filter=!@openstatus/subscriptions database: false services: sqld: image: ghcr.io/tursodatabase/libsql-server:e4beaca ports: - 8080:8080
env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} DATABASE_URL: http://127.0.0.1:8080 DATABASE_AUTH_TOKEN: "basic:token" steps: - name: โฌ๏ธ Checkout repo uses: actions/checkout@v6
- name: Set up pnpm uses: pnpm/action-setup@v6
- name: โ Setup node uses: actions/setup-node@v6 with: node-version: 24.12.0 cache: "pnpm"
- name: ๐ฆ Setup Deno uses: denoland/setup-deno@v2 with: deno-version: 2.9.7
- name: ๐ฅ Download deps run: pnpm install
- name: ๐๏ธ Run migrations if: matrix.database run: pnpm migrate working-directory: ./packages/db
- name: ๐ฝ Seed database if: matrix.database run: pnpm seed working-directory: ./packages/db
- name: ๐งช Tests run: pnpm turbo run test ${{ matrix.filter }}
# Single required status check, so branch protection does not need to list # every matrix leg. tests: name: ๐งช Tests runs-on: ubuntu-latest needs: test if: always() steps: - name: Check matrix result run: | if [ "${{ needs.test.result }}" != "success" ]; then echo "One or more test jobs failed." exit 1 fi