From 6fd690890b790c2cf02dbd1308f482ee45cb5e67 Mon Sep 17 00:00:00 2001 From: Gitea Actions Date: Thu, 19 Feb 2026 00:36:02 +0500 Subject: [PATCH] style: auto-format code via Prettier [skip ci] --- .../0062-lightweight-version-sync-workflow.md | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/adr/0062-lightweight-version-sync-workflow.md b/docs/adr/0062-lightweight-version-sync-workflow.md index 04465318..1a884cd8 100644 --- a/docs/adr/0062-lightweight-version-sync-workflow.md +++ b/docs/adr/0062-lightweight-version-sync-workflow.md @@ -21,12 +21,12 @@ After successful production deployments, the version number in `package.json` is **Problem:** Running the complete 5-7 minute test suite just to update a 10KB `package.json` file was wasteful: -| Resource | Waste | -| ------------- | -------------------------------------- | -| **Duration** | 5-7 minutes (vs 30 seconds needed) | -| **CPU** | ~95% unnecessary (full test suite) | -| **File I/O** | 99.8% unnecessary (only need 1 file) | -| **CI Queue** | Blocked other workflows unnecessarily | +| Resource | Waste | +| -------------- | ------------------------------------- | +| **Duration** | 5-7 minutes (vs 30 seconds needed) | +| **CPU** | ~95% unnecessary (full test suite) | +| **File I/O** | 99.8% unnecessary (only need 1 file) | +| **CI Queue** | Blocked other workflows unnecessarily | | **Time/month** | ~20 minutes wasted on version syncs | The code being tested had already passed the full test suite when originally pushed to `main`. Re-running tests for a version number change provided no additional value. @@ -46,7 +46,7 @@ Implement a lightweight **version-sync-only workflow** that: # .gitea/workflows/sync-test-version.yml on: workflow_run: - workflows: ["Deploy to Production"] + workflows: ['Deploy to Production'] types: [completed] branches: [main] @@ -97,6 +97,7 @@ jobs: **Approach:** Detect version bump commits and skip most steps **Rejected because:** + - Pollutes workflow with 20+ `if:` conditionals - Makes workflow complex and brittle - Still queues a workflow run (even if it exits early) @@ -107,6 +108,7 @@ jobs: **Approach:** Make production `workflow_dispatch` only (manual trigger) **Rejected because:** + - Removes automation benefits - Requires human intervention for every production deploy - Doesn't align with CI/CD best practices @@ -117,6 +119,7 @@ jobs: **Approach:** Accept that test version lags behind production **Rejected because:** + - Version numbers become meaningless in test - Harder to correlate test issues with production releases - Loses visibility into what's deployed where @@ -126,6 +129,7 @@ jobs: **Approach:** Only deploy production on release tags, not on every push **Rejected because:** + - Changes current deployment cadence - Adds manual release step overhead - Doesn't solve the fundamental problem (version sync still needed) @@ -159,6 +163,7 @@ pm2 jlist | jq '.[] | select(.name | endsWith("-test")) | {name, version: .pm2_e ``` Expected output: + ```json { "name": "flyer-crawler-api-test", @@ -173,6 +178,7 @@ Expected output: ## Monitoring Track workflow execution times: + - Before: `deploy-to-test.yml` duration after prod deploys (~5-7 min) - After: `sync-test-version.yml` duration (~30 sec)