Testing PRs in a distributed PaaS environment
summary
A single monorepo replaces many repos so cross-repo PRs become one change; CI builds and unit tests run first, then GitHub Actions deploy per-PR environments to Azure Web Apps and Functions using Bicep templates, per-PR DNS zones and seeded SQL databases (console seeders + Bogus), and posts the PR URL via github-script. Playwright runs end-to-end checks and uploads snapshots to Percy for visual diffs. GitHub↔Azure federated identities remove long-lived secrets; typical push-to-PR environment time is about 10–15 minutes, using monorepo, Bicep, GitHub Actions.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:04Background and infrastructure
- 5:23Challenges with current system
- 9:23Goals for improvement
- 11:31Why not Kubernetes
- 12:34Solutions and first steps
- 13:58Monorepo adoption
- 15:42Bicep for infrastructure
- 17:52Azure AD and identities
- 20:01Database seeding strategy
- 21:47Deployment automation
- 24:14Custom domain setup
- 25:17PR feedback integration
- 27:50Migrating to GitHub Actions
- 29:12Secure authentication
- 31:59End-to-end testing
- 34:48Visual regression testing
- 36:16Local pipeline development
- 37:40Recap of goals achieved
- 40:33Future plans
- 40:54Q&A
related talks
29mShip it with GitHub Actions and GitHub Packages
01h 01mGitHub + Azure: Better Together!
26mAccelerating cloud native deployment with GitHub Actions and AWS
55mGitHub + Azure: Better Together!
35mBetter together build and deploy to Azure with GitHub
30mSpend More Time Coding & Automate the Boring Stuff
34mGithub actions - Setting Azure Infrastructure
36mDevOps: Improving applications with DevOps
