diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eb5bf89d..8a727deb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,13 +7,33 @@ on: types: [opened, synchronize] jobs: - build: - name: CI + create-neon-branch: + name: ๐Ÿš€ Create Neon Branch + runs-on: ubuntu-latest + outputs: + database_url: ${{ steps.create-branch.outputs.db_url }} + steps: + - name: Get branch name + id: branch-name + uses: tj-actions/branch-names@v7 + + - name: Create neon branch + uses: neondatabase/create-branch-action@v4.4.0 + with: + project_id: ${{ secrets.NEON_PROJECT_ID }} + branch_name: ${{ steps.branch-name.outputs.current_branch }} + username: ${{ secrets.PG_USERNAME }} + api_key: ${{ secrets.NEON_API_KEY }} + id: create-branch + + main: + name: ๐Ÿงพ Main CI Checks runs-on: ubuntu-latest env: - DATABASE_URL: ${{ secrets.DATABASE_URL }} TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} + AUTH_GITHUB_CLIENT_ID: ${{ secrets.AUTH_GITHUB_CLIENT_ID }} + AUTH_GITHUB_CLIENT_SECRET: ${{ secrets.AUTH_GITHUB_CLIENT_SECRET }} steps: - name: Check out code @@ -63,4 +83,6 @@ jobs: run: pnpm turbo typecheck - name: Build + env: + DATABASE_URL: ${{ needs.create-neon-branch.outputs.database_url }} run: pnpm turbo build diff --git a/cspell.config.yaml b/cspell.config.yaml index ee2f46cd..c4c65346 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -8,6 +8,7 @@ ignorePaths: - dist words: - astro + - neonctl - clsx - commitlint - esbenp diff --git a/packages/auth/src/env.js b/packages/auth/src/env.js index 94c87ebd..b264754d 100644 --- a/packages/auth/src/env.js +++ b/packages/auth/src/env.js @@ -6,13 +6,13 @@ export const env = createEnv({ extends: [vercel], server: { NODE_ENV: z.enum(['development', 'test', 'production']).optional(), - GITHUB_CLIENT_ID: z.string(), - GITHUB_CLIENT_SECRET: z.string(), + AUTH_GITHUB_CLIENT_ID: z.string(), + AUTH_GITHUB_CLIENT_SECRET: z.string(), }, runtimeEnv: { NODE_ENV: process.env['NODE_ENV'], - GITHUB_CLIENT_ID: process.env['GITHUB_CLIENT_ID'], - GITHUB_CLIENT_SECRET: process.env['GITHUB_CLIENT_SECRET'], + AUTH_GITHUB_CLIENT_ID: process.env['GITHUB_CLIENT_ID'], + AUTH_GITHUB_CLIENT_SECRET: process.env['GITHUB_CLIENT_SECRET'], }, emptyStringAsUndefined: true, }); diff --git a/packages/auth/src/providers/github.ts b/packages/auth/src/providers/github.ts index bce955f5..3b299e3b 100644 --- a/packages/auth/src/providers/github.ts +++ b/packages/auth/src/providers/github.ts @@ -10,8 +10,8 @@ import { env } from '../env.js'; import { lucia } from '../lucia'; export const github = new GitHub( - env.GITHUB_CLIENT_ID, - env.GITHUB_CLIENT_SECRET, + env.AUTH_GITHUB_CLIENT_ID, + env.AUTH_GITHUB_CLIENT_SECRET, ); export async function createGithubAuthorizationURL(): Promise { diff --git a/packages/config/eslint/base.js b/packages/config/eslint/base.js index a50fb8bf..3bee881b 100644 --- a/packages/config/eslint/base.js +++ b/packages/config/eslint/base.js @@ -26,6 +26,7 @@ const config = { 'plugin:@typescript-eslint/stylistic-type-checked', ], rules: { + '@typescript-eslint/consistent-type-definitions': 'off', '@typescript-eslint/array-type': [ 'error', { diff --git a/packages/db/drizzle.config.ts b/packages/db/drizzle.config.ts index 490f35fd..401ad40b 100644 --- a/packages/db/drizzle.config.ts +++ b/packages/db/drizzle.config.ts @@ -1,6 +1,6 @@ import type { Config } from 'drizzle-kit'; -import { env } from './src/env.mjs'; +import { env } from './src/env.js'; export default { schema: './src/schema/index.ts', diff --git a/packages/db/migrate.ts b/packages/db/migrate.ts index 90b91801..22dd651e 100644 --- a/packages/db/migrate.ts +++ b/packages/db/migrate.ts @@ -2,7 +2,7 @@ import { drizzle } from 'drizzle-orm/postgres-js'; import { migrate } from 'drizzle-orm/postgres-js/migrator'; import postgres from 'postgres'; -import { env } from './src/env.mjs'; +import { env } from './src/env.js'; const sql = postgres(env.DATABASE_URL, { max: 1 }); const db = drizzle(sql); diff --git a/packages/ui/tsup.config.ts b/packages/ui/tsup.config.ts index 076a8918..12a44668 100644 --- a/packages/ui/tsup.config.ts +++ b/packages/ui/tsup.config.ts @@ -18,12 +18,12 @@ const entries = [ }, ]; -type PackageJson = { +interface PackageJson { exports: Record; main: string; module: string; types: string; -}; +} export default defineConfig((opts) => ({ entry: entries.map((entry) => entry.source),