Files
flyer-crawler.projectium.com/docs
Torben Sorensen 441467eb8a
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 26m39s
feat: add lightweight version sync workflow (ADR-062)
Implements efficient version synchronization between production and test
environments without running the full test deployment pipeline.

Problem:
- Production version bumps triggered full 5-7 minute test deployment
- Wasteful: 95% less CPU, 99.8% less file I/O needed
- Code already tested when originally pushed to main

Solution (matching stock-alert architecture):
- New sync-test-version.yml workflow (~30 seconds)
- Triggers automatically after successful production deployment
- Updates only package.json in test directory
- Restarts PM2 with --update-env to refresh version metadata

Benefits:
- 90% faster (30 sec vs 5-7 min)
- Saves ~20 minutes/month of CI time
- Clean separation: no conditionals polluting deploy-to-test.yml
- Same end state, optimized path

Changes:
- Added .gitea/workflows/sync-test-version.yml (new workflow)
- Added docs/adr/0062-lightweight-version-sync-workflow.md (decision record)
- Updated docs/adr/index.md (ADR catalog)
- Cleaned up duplicate TSOA generation step in deploy-to-test.yml

Architecture:
- deploy-to-test.yml: unchanged (runs on code changes)
- deploy-to-prod.yml: unchanged (no explicit trigger needed)
- sync-test-version.yml: auto-triggers via workflow_run

Related:
- Inspired by stock-alert project optimization (commit 021f9c8)
- ADR-061: PM2 Process Isolation Safeguards

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-18 11:33:05 -08:00
..
2026-02-17 17:20:54 -08:00
2026-02-17 21:44:34 -08:00
2026-01-28 23:23:45 -08:00
2026-01-28 15:33:48 -08:00
2026-01-22 11:23:43 -08:00
2026-01-22 21:48:32 -08:00
2026-02-17 20:49:01 -08:00

Flyer Crawler Documentation

Welcome to the Flyer Crawler documentation. This guide will help you navigate the various documentation resources available.

Documentation Structure

🚀 Getting Started

New to the project? Start here:

🏗️ Architecture

Understand how the system works:

💻 Development

Day-to-day development guides:

🔧 Operations

Production operations and deployment:

Incident Response:

Incident Reports:

NGINX Reference Configs (in repository root):

  • etc-nginx-sites-available-flyer-crawler.projectium.com - Production server config
  • etc-nginx-sites-available-flyer-crawler-test-projectium-com.txt - Test server config

🛠️ Tools

External tool configuration:

🤖 AI Agents

Working with Claude Code subagents:

AI-Optimized References (token-efficient quick refs):

📐 Architecture Decision Records (ADRs)

Design decisions and rationale:

  • ADR Index - Complete list of all ADRs
  • 54+ ADRs covering patterns, conventions, and technical decisions

📦 Archive

Historical and completed documentation:

Documentation Conventions

  • File Names: Use SCREAMING_SNAKE_CASE for human-readable docs (e.g., INSTALL.md)
  • Links: Use relative paths from the document's location
  • Code Blocks: Always specify language for syntax highlighting
  • Tables: Use markdown tables for structured data
  • Cross-References: Link to ADRs and other docs for detailed explanations

Contributing to Documentation

See CONTRIBUTING.md for guidelines on:

  • Writing clear, concise documentation
  • Updating docs when code changes
  • Creating new ADRs for significant decisions
  • Documenting new features and APIs

Need Help?

Documentation Maintenance

This documentation is actively maintained. If you find:

  • Broken links or outdated information
  • Missing documentation for features
  • Unclear or confusing sections

Please open an issue or submit a pull request with improvements.