Skip to content

Remove obsolete Docker/Buildkite infra, update to Supabase-based local dev #5

Remove obsolete Docker/Buildkite infra, update to Supabase-based local dev

Remove obsolete Docker/Buildkite infra, update to Supabase-based local dev #5

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install
- name: Setup Supabase CLI
uses: supabase/setup-cli@v1
with:
version: latest
- name: Start Supabase
run: supabase start
- name: Set Supabase env vars
run: |
supabase status -o env > /tmp/supabase_env
source /tmp/supabase_env
echo "NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=$ANON_KEY" >> $GITHUB_ENV
echo "SUPABASE_SECRET_KEY=$SERVICE_ROLE_KEY" >> $GITHUB_ENV
- name: Load test env vars
run: |
# Load .env.test into GITHUB_ENV, skipping comments and blank lines
while IFS= read -r line; do
# Skip comments and empty lines
[[ -z "$line" || "$line" =~ ^# ]] && continue
key="${line%%=*}"
value="${line#*=}"
# Only set if not already defined (Supabase keys from previous step take precedence)
if [[ -z "${!key}" ]]; then
echo "$key=$value" >> $GITHUB_ENV
fi
done < .env.test
- name: Typecheck and lint
run: bun check
- name: Start dev server
run: |
bun next dev &
# Wait for the server to be ready
for i in $(seq 1 30); do
if curl -s http://localhost:3000 > /dev/null 2>&1; then
echo "Server is ready"
break
fi
echo "Waiting for server to start... ($i/30)"
sleep 2
done
- name: Run tests
run: bun test
- name: Stop Supabase
if: always()
run: supabase stop