Skip to content

Commit f73c420

Browse files
committed
chore: update production deployment process and remove obsolete release gate utilities
- Enhance production deployment with `release.yml` tagging and manual deploy instructions. - Remove outdated `release-gate` utilities and associated tests to streamline the codebase.
1 parent b67f50d commit f73c420

4 files changed

Lines changed: 2 additions & 79 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,5 @@ Vendored from [vercel-labs/portless](https://github.com/vercel-labs/portless/tre
139139
- Class-based theme toggles `dark` on `<html>`; `src/scripts/theme-init.ts` is the single source for Head inline FOUC script and ThemeToggle (keep toggle/refresh idempotent)
140140
- Blog listing uses `CardList` with `layoutMode="single-column"` (one post per row); myWork/bookshelf/shoutouts use `CardList` grid via SectionList `layoutMode="grid"`
141141
- `.gitattributes` enforces `* text=auto eol=lf`; phantom dirty files on Windows with empty diffs usually mean `core.autocrlf` / index stat drift, not real content changes
142+
- Production: `release.yml` tags `origin/main` at `v*` then `workflow_call` `deploy.yml` (Actions build + Netlify API). `netlify.toml` `ignore = "exit 0"` skips Netlify Git builds on `main` — canceled/skipped Netlify deploys are expected, not build failures
143+
- Manual production deploy: `gh workflow run "Deploy to Production" -f ref=...` (tag or branch); see `.cursor/skills/netlify-cli/` for deploy model details

CHANGELOG.md

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,12 @@
7272

7373
- b125efa: Add breadcrumb navigation component for multi-level page context (Home > Blog > Article Title)
7474
- d90e7c4: feat: add visual system design tokens for shadows, transitions, and easing
75-
7675
- Define shadow presets (card, card-hover, heading, glow-green) in Tailwind v4 @theme block
7776
- Define transition duration scale (fast/normal/slow) and easing curves (default/in-out/spring)
7877
- Mirror tokens in tailwind.config.js extend for editor intellisense support
7978

8079
- 74b4c32: Add Playwright-based WCAG AA contrast regression tests using axe-core. Tests 8 pages in both light and dark mode (16 test cases). Includes Playwright config, scoped tsconfig for Playwright types, and test:contrast npm script.
8180
- d6bd63b: refactor: deepen frontend architecture — extract utilities, fix bugs, consolidate components
82-
8381
- Extract shared slug utility (toSlug) from 4 duplicated implementations, fixing a regex ordering bug in CollectionPageLayout
8482
- Consolidate 4 duplicate component pairs (Card, Skill, Skills, Navigation) into canonical locations
8583
- Merge HTMX attributes and active-page detection into Navigation (was missing from live site)
@@ -103,7 +101,6 @@
103101
- 741c97c: fix: resolve remaining WCAG AA contrast violations on 404 page in both light and dark modes
104102
- e2ffb40: fix: 404 page heading text contrast — ensure h2 "Page Not Found" uses gray-900/gray-100 for WCAG AA compliance in both light and dark modes
105103
- bc17a2c: fix(a11y): blog sort button and prose link contrast for WCAG AA
106-
107104
- Sort button active state: `bg-green-600 text-white` (3.21:1) → `bg-green-800 text-green-50` (passes 4.5:1) in both light and dark modes
108105
- `.content a` prose links: `text-blue-300` in light mode (1.5:1 on bg-green-200) → `text-blue-700` (passes 4.5:1); dark mode stays `text-blue-300`
109106
- Closes pendragon-coding-we9: all 16 axe-core contrast audit tests pass across 8 pages × 2 modes
@@ -223,23 +220,20 @@
223220
Implemented a theme toggle component that allows users to switch between light and dark modes with a smooth sliding animation. The theme preference is persisted in localStorage and respects system preferences on first visit.
224221

225222
**New Features:**
226-
227223
- Theme toggle button with sliding animation positioned at the right edge of the header
228224
- Sun and moon icons that smoothly transition based on the selected theme
229225
- localStorage persistence to remember user's theme preference across sessions
230226
- System preference detection on first visit (respects `prefers-color-scheme`)
231227
- Smooth color transitions throughout the site when switching themes (300ms duration)
232228

233229
**Improvements:**
234-
235230
- Light mode uses a clean gray-50 background with dark text for improved readability during daytime
236231
- Dark mode maintains the existing green-950 background with light text optimized for low-light environments
237232
- Navigation underlines adapt to theme: green-600 in light mode, green-400 in dark mode
238233
- Footer links have theme-aware hover states for better visual feedback
239234
- Accessible implementation with proper ARIA attributes and keyboard focus states
240235

241236
**Technical Details:**
242-
243237
- Created ThemeToggle.astro component with inline script for theme management
244238
- Configured Tailwind CSS with class-based dark mode strategy
245239
- Added tailwind.config.js with dark mode enabled
@@ -251,14 +245,12 @@
251245

252246
- e5e448b: Add Bun test runner tooling to the project. Includes test scripts in package.json (test, test:watch, test:coverage), example test file demonstrating Bun's test syntax, and updated documentation in CLAUDE.md with testing commands and conventions.
253247
- b090c8e: Add GitHub Action for opencode integration on issue comments
254-
255248
- Add .github/workflows/opencode.yml to enable opencode AI assistance
256249
- Triggers on issue comments containing '/oc' or '/opencode' commands
257250
- Uses sst/opencode/github action with opencode/big-pickle model
258251
- Includes proper permissions for repository access
259252

260253
- 201f90b: Migrate blog and testimonials to Astro Content Collections API
261-
262254
- Create content config with Zod schemas for type safety
263255
- Move markdown files from pages to content directory
264256
- Standardize blog dates to ISO format
@@ -270,7 +262,6 @@
270262

271263
- 930f48e: Add article on DORA metrics misuse to bookshelf
272264
- b090c8e: Refactor testimonials to use ContentSection component like myWork page
273-
274265
- Convert testimonials from Astro Content Collections to static TypeScript data file
275266
- Update testimonials page to use ContentContainer and BaseLayout instead of CollectionPageLayout
276267
- Remove individual testimonial markdown files and dynamic routing
@@ -292,29 +283,25 @@
292283
This release introduces a modern navigation system using HTMX that provides a single-page application experience while maintaining progressive enhancement and SEO-friendly fallbacks.
293284

294285
**New Features:**
295-
296286
- HTMX-powered navigation that swaps content without full page reloads
297287
- Smooth transitions between pages using HTMX's built-in transition system
298288
- Browser history and URL preservation with `hx-push-url`
299289
- Seven new API endpoints (`/api/*.html`) returning HTML fragments for HTMX requests
300290
- Progressive enhancement: navigation works with and without JavaScript
301291

302292
**Improvements:**
303-
304293
- Fixed animation stutter by eliminating conflicting CSS animations during HTMX transitions
305294
- Added `noAnimation` prop system to Skills and Skill components for conditional animation control
306295
- Faster page navigation with reduced bandwidth usage (only content updates, not full page)
307296
- Maintained SEO compatibility with full-page fallbacks for search engine crawlers
308297

309298
**Code Quality Refactors:**
310-
311299
- Refactored Navigation component to use data-driven link array, reducing code from ~93 lines to ~38 lines
312300
- Extracted HTMX configuration into reusable constants for maintainability
313301
- Created ApiContentLayout wrapper to eliminate duplication across API endpoints
314302
- Improved code maintainability: adding/removing navigation links now requires only updating the data array
315303

316304
**Technical Details:**
317-
318305
- Navigation links use `hx-get`, `hx-target`, `hx-swap`, and `hx-push-url` attributes
319306
- Original page routes remain unchanged for direct access and SEO
320307
- API endpoints share components with full pages, ensuring consistency

src/utils/release-gate.test.ts

Lines changed: 0 additions & 51 deletions
This file was deleted.

src/utils/release-gate.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)