style: auto-format code via Prettier [skip ci]
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user