Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ jobs:
build:
name: Build
runs-on: ubuntu-latest
env:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }}
CLERK_SECRET_KEY: ${{ secrets.CLERK_SECRET_KEY }}
steps:
- uses: actions/checkout@v4

Expand All @@ -67,17 +70,24 @@ jobs:
- name: Build application
run: bun run build

# Turbopack can emit filenames containing colons, which artifact uploads reject.
- name: Package build artifacts
run: tar --exclude='.next/cache' -czf build-output.tar.gz .next

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-output
path: .next
include-hidden-files: true
path: build-output.tar.gz
compression-level: 0
retention-days: 1

e2e:
name: E2E Tests (${{ matrix.browser }}, shard ${{ matrix.shard }})
runs-on: ubuntu-latest
env:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${{ secrets.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY }}
CLERK_SECRET_KEY: ${{ secrets.CLERK_SECRET_KEY }}
needs: build
strategy:
fail-fast: false
Expand All @@ -98,7 +108,9 @@ jobs:
uses: actions/download-artifact@v4
with:
name: build-output
path: .next

- name: Extract build artifacts
run: tar -xzf build-output.tar.gz

- name: Install Playwright browsers
run: bunx playwright install --with-deps ${{ matrix.browser }}
Expand Down
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ A season-aware NFL schedule and playoff bracket builder. Follow preseason and re
- 📱 Mobile-first responsive design
- 🖼️ Export bracket as shareable image
- 🎨 Dark mode with team colors
- 👤 Clerk sign-in, sign-up, and profile controls

## Getting Started

Expand All @@ -24,6 +25,18 @@ First, install dependencies:
bun install
```

Link the Clerk development application and pull its local configuration:

```bash
clerk auth login
clerk init --app app_3JIG7yUoXrPnpfQD5YLkhamcC00
clerk doctor
```

Select the personal Clerk workspace containing `bracket.build` when authorizing the CLI.
Clerk writes development keys to the ignored `.env.local` file. Never commit secret keys.
For an already configured checkout, use `clerk env pull` after linking instead of repeating initialization.

Then run the development server:

```bash
Expand All @@ -32,6 +45,14 @@ bun dev

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

Sign in and sign up from the header, or continue browsing as a guest. Accounts currently
provide identity only; brackets still save to this browser's localStorage and do not sync
between devices or become private to a signed-in account.

For CI and deployment, configure `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` and
`CLERK_SECRET_KEY` in the environment. Use development keys for local testing and configure
a Clerk production instance and its production keys before deploying authentication publicly.

## Tech Stack

- [Next.js 16](https://nextjs.org/) with App Router
Expand Down
1,234 changes: 1,160 additions & 74 deletions bun.lock

Large diffs are not rendered by default.

Loading
Loading