[DRAFT] CI: Trigger pipeline (lint/type/test/build/preview/budgets) #1

Merged
Nicholai merged 19 commits from ci-run-20250918-2021 into main 2025-10-06 10:46:23 +00:00
Owner

Automated PR to trigger CI for branch ci-run-20250918-2021.

Status: DRAFT — awaiting Gitea Actions runner installation.

Purpose: Validate that the CI pipeline (lint, typecheck, tests, OpenNext build, preview smoke, budgets, and D1 dry-run) runs clean on the server once a runner is available.

Instructions to resume: Install/register a runner, ensure label matches ubuntu-latest, then push a no-op commit to this branch or re-open the PR to retrigger.

Do not merge until a successful CI run is observed.

Automated PR to trigger CI for branch ci-run-20250918-2021. Status: DRAFT — awaiting Gitea Actions runner installation. Purpose: Validate that the CI pipeline (lint, typecheck, tests, OpenNext build, preview smoke, budgets, and D1 dry-run) runs clean on the server once a runner is available. Instructions to resume: Install/register a runner, ensure label matches ubuntu-latest, then push a no-op commit to this branch or re-open the PR to retrigger. Do not merge until a successful CI run is observed.
Nicholai added 2 commits 2025-09-19 08:39:58 +00:00
Nicholai changed title from CI: Trigger pipeline (lint/type/test/build/preview/budgets) to [DRAFT] CI: Trigger pipeline (lint/type/test/build/preview/budgets) 2025-09-19 10:48:08 +00:00
Author
Owner

Marking this PR as DRAFT due to missing Gitea Actions runner.

This PR’s only purpose is to validate the CI pipeline (lint → typecheck → tests → OpenNext build → preview smoke → budgets → D1 dry-run). There are no deploy actions in this story.

Action required to proceed: Install and start a runner registered to this repository or instance (label: ubuntu-latest). Once available, push any commit to branch ci-run-20250918-2021 or re-open this PR to trigger the workflow.

Do not merge until a successful CI run is observed and budgets pass (or thresholds are explicitly raised for your tier).

Marking this PR as DRAFT due to missing Gitea Actions runner. This PR’s only purpose is to validate the CI pipeline (lint → typecheck → tests → OpenNext build → preview smoke → budgets → D1 dry-run). There are no deploy actions in this story. Action required to proceed: Install and start a runner registered to this repository or instance (label: ubuntu-latest). Once available, push any commit to branch ci-run-20250918-2021 or re-open this PR to trigger the workflow. Do not merge until a successful CI run is observed and budgets pass (or thresholds are explicitly raised for your tier).
Nicholai added 1 commit 2025-09-19 10:55:43 +00:00
Nicholai added 1 commit 2025-09-19 11:00:15 +00:00
ci: add fallback install for dev deps to satisfy lint/coverage without changing lockfile
Some checks failed
CI / build-and-test (pull_request) Failing after 36s
082f1cba53
Nicholai added 1 commit 2025-09-19 11:03:00 +00:00
ci: fix install failure by removing @cloudflare/next-on-pages and using npm install in CI
Some checks failed
CI / build-and-test (pull_request) Failing after 1m26s
9506d99d52
Nicholai added 1 commit 2025-09-20 03:33:54 +00:00
feat(ci,flags,ops): ship end-to-end CI, feature-flag framework, gated surfaces, and ops docs
Some checks failed
CI / build-and-test (pull_request) Failing after 1m19s
b20db98051
CI (.gitea/workflows/ci.yaml): lint → typecheck → vitest w/ coverage → OpenNext build → preview smoke → bundle-size budgets; Node 20; npm ci; artifacts; safe env; D1 dry-run scaffold.

Budgets: add scripts/budgets.mjs; TOTAL_STATIC_MAX_BYTES and MAX_ASSET_BYTES thresholds; report top offenders; fail on breach; README CI section.

Flags: add lib/flags.ts with typed booleans and safe defaults (ADMIN_ENABLED, ARTISTS_MODULE_ENABLED, UPLOADS_ADMIN_ENABLED, BOOKING_ENABLED, PUBLIC_APPOINTMENT_REQUESTS_ENABLED, REFERENCE_UPLOADS_PUBLIC_ENABLED, DEPOSITS_ENABLED, PUBLIC_DB_ARTISTS_ENABLED, ADVANCED_NAV_SCROLL_ANIMATIONS_ENABLED, STRICT_CI_GATES_ENABLED, ISR_CACHE_R2_ENABLED); robust parsing; client provider; unit tests.

Wiring: gate Admin shell and admin write APIs (503 JSON on uploads and artists writes); disable booking submit and short-circuit booking mutations when off; render static Hero/Artists when advanced animations off; tests for UI and API guards.

Ops: expand docs/prd/rollback-strategy.md with “Feature Flags Operations,” Cloudflare Dashboard and wrangler.toml steps, preview simulation, incident playbook, and post-toggle smoke checklist.

Release: add docs/releases/2025-09-19-feature-flags-rollout.md with last-good commit, preview/production flag matrices, rollback notes, and smoke results; link from rollback doc.

Chore: fix TS issues (gift-cards boolean handling, Lenis options, tailwind darkMode), remove next-on-pages peer conflict, update package.json scripts, configure Gitea act_runner label, open draft PR to trigger CI.

Refs: CI-1, FF-1, FF-2, FF-3, OPS-1
Impact: defaults preserve current behavior; no runtime changes unless flags flipped
Nicholai added 2 commits 2025-09-20 05:44:21 +00:00
- docs/stories/pub-1-shadcn-ui-consistency.md
- docs/stories/pub-2-parallax-split-hero.md
- docs/stories/pub-3-search-with-filters.md
- docs/stories/pub-4-quick-search-cmdk.md
- docs/stories/pub-5-aftercare-enhancements.md
- docs/stories/pub-6-galleries-lightbox.md

Each story:

- Mirrors PRD acceptance criteria verbatim
- Includes actionable Tasks/Subtasks aligned to repo components (e.g., components/hero-section.tsx, components/artist-portfolio.tsx, data/artists.ts)
- Provides Dev Notes referencing docs/ui-architecture.md and docs/PRD.md
- Includes Testing guidance (Vitest/RTL and a11y expectations)
- Reserves Dev Agent Record and QA Results sections for subsequent phases
Nicholai added 1 commit 2025-09-20 08:32:30 +00:00
Nicholai added 3 commits 2025-09-20 11:30:16 +00:00
Nicholai added 1 commit 2025-09-20 11:58:42 +00:00
Added Keyboard navigation to artist portfolios
Some checks failed
CI / build-and-test (pull_request) Failing after 1m15s
d5e8161186
Nicholai added 1 commit 2025-09-21 11:17:31 +00:00
feat(devtools): add console credit banner with ASCII border (idempotent)
Some checks failed
CI / build-and-test (pull_request) Failing after 1m22s
f65f422e6d
Nicholai added 1 commit 2025-09-26 05:54:06 +00:00
latest changes
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
cb7a555118
Nicholai added 1 commit 2025-09-26 06:35:00 +00:00
updated section scrolling
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
ad0e34bd7e
Nicholai added 1 commit 2025-09-26 07:20:06 +00:00
Added visibility to nav items at scroll position 0, updated the nav to use ShadCN variables
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
741e036711
Nicholai added 1 commit 2025-10-06 10:32:02 +00:00
feat: Phase 1 - Artist profile database refactor with API foundation
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
97a925b2ac
Implements backend infrastructure for loading artist profiles from Cloudflare D1 database instead of static data.

Database Changes:
- Add slug column migration for SEO-friendly URLs (0001_add_artist_slug.sql)
- Enhanced data migration script with slug generation
- Support for all artist fields from data/artists.ts

Type Definitions:
- Add slug field to Artist interface
- Create ArtistWithPortfolio type for full artist data
- Create PublicArtist type for sanitized API responses
- Add ArtistFilters type for query parameters
- Add ArtistDashboardStats for analytics

Database Functions (lib/db.ts):
- getPublicArtists() - fetch active artists with portfolio and filtering
- getArtistWithPortfolio() - fetch single artist with full portfolio
- getArtistBySlug() - fetch by URL-friendly slug
- getArtistByUserId() - fetch by user ID for dashboard
- Enhanced getArtists() with JSON parsing

API Endpoints:
- Updated GET /api/artists - filtering, pagination, portfolio images
- Created GET /api/artists/[id] - fetch by ID or slug
- Created PUT /api/artists/[id] - update with authorization
- Created DELETE /api/artists/[id] - soft delete (admin only)
- Created GET /api/artists/me - current artist profile

React Hooks (hooks/use-artist-data.ts):
- useArtists() - fetch with filtering
- useArtist() - fetch single artist
- useCurrentArtist() - logged-in artist
- useUpdateArtist(), useCreateArtist(), useDeleteArtist() - mutations

Frontend Components:
- Refactored artists-grid.tsx to use API with loading/error states
- Use database field names (slug, specialties, portfolioImages)
- Display profile images from portfolio
- Client-side filtering by specialty

Files Modified:
- sql/migrations/0001_add_artist_slug.sql (new)
- types/database.ts (enhanced)
- lib/data-migration.ts (enhanced)
- lib/db.ts (enhanced)
- app/api/artists/route.ts (updated)
- app/api/artists/[id]/route.ts (new)
- app/api/artists/me/route.ts (new)
- hooks/use-artist-data.ts (new)
- components/artists-grid.tsx (refactored)

Remaining work: Artist portfolio page, artist dashboard, admin enhancements

Ref: artist_profile_refactor_implementation_plan.md
Nicholai added 1 commit 2025-10-06 10:45:21 +00:00
updated the following components to use the API instead of hardcoded data:
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
e50c1d9662
### 1. __artists-grid.tsx__ (Main Artist Browsing)

- Uses  hook from
- Fetches from  endpoint
- Includes loading states, error handling, and filtering
- __Impact:__ Primary artist browsing experience now fully API-driven

### 2. __artist-portfolio.tsx__ (Individual Artist Pages)

- Uses  hook
- Fetches from  endpoint
- Fixed all TypeScript errors (changed image ID from number to string)
- Added loading/error states
- __Impact:__ Artist detail pages now fully API-driven

### 3. __booking-form.tsx__ (Artist Selection Dropdown)

- Uses  hook for artist selection
- Updated to use API data structure ( array, , etc.)
- Added loading state for dropdown
- __Impact:__ Booking flow now uses real artist data

## ⚠️ REMAINING (Decorative/Marketing Components)

Two complex components still use hardcoded :

### 4. __artists-section.tsx__ (Homepage Hero - 348 lines)

- Homepage marketing section with complex parallax scrolling
- Uses hardcoded artist data for visual cards
- __Non-blocking:__ This is a decorative homepage element

### 5. __artists-page-section.tsx__ (Artists Page Section - 413 lines)

- Full-page artists showcase with parallax effects
- Uses hardcoded artist data for visual layout
- __Non-blocking:__ Alternative to artists-grid.tsx (which IS using API)

##
Nicholai merged commit 6bd0bd25ef into main 2025-10-06 10:46:23 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Nicholai/united-tattoo#1
No description provided.