Lotta Supply

Development Log

Back to all entries

Release Trust Gates Stabilized; CI and Testing Improvements

Today's work focused on stabilizing our release trust gates and improving our CI/CD pipeline. We completed Phase 1 of our release-trust testing strategy by implementing observability and a post-deploy canary. The canary workflow allows us to manually trigger a test against the deployed application and receive Slack alerts on failures, ensuring we catch issues quickly.

We also addressed several issues with our release trust gates, specifically around cross-organization authorization and test reliability. We fixed a bug in Gate 2 that was causing false positives and hardened the test to ensure it accurately validates our organization boundary. Additionally, we improved the reliability of our CI runs by serializing gate workflows and ensuring the test database is automatically migrated.

Finally, we resolved a flaky test failure in Gate 1 caused by the Next.js dev server's cold-start behavior. We adjusted the test to account for this latency, ensuring consistent test results. We also replaced drizzle-kit CLI with a custom migration runner to expose underlying errors that were previously swallowed.

View source activity

Commits (4)

  • fix(test): absorb Next dev-server cold-start in Gate 1 login step (#174)
  • chore(ci): serialize gates workflow and auto-migrate test database (#173)
  • test: complete release-trust Phase 1 Step 5 (observability and rollout) (#172)
  • test(web): blocking Gate 2 — org authz boundary (#171)

Pull Requests (4)

  • #174: fix(test): absorb Next dev-server cold-start in Gate 1 login step
  • #173: chore(ci): serialize gates workflow and auto-migrate test database
  • #172: test: complete release-trust Phase 1 Step 5 (observability and rollout)
  • #171: test(web): blocking Gate 2 — org authz boundary