#CI

4 posts

Python Testing #7: Running Tests in CI — People Forget, Machines Don't
5 min read

Python Testing #7: Running Tests in CI — People Forget, Machines Don't

Build a CI workflow that runs pytest automatically with GitHub Actions. Covers uv caching, a Python version matrix, coverage comments on PRs, pre-commit, and separating slow tests to wrap up the series.

Testing #6 E2E with Playwright and CI Integration — Closing the Track
12 min read

Testing #6 E2E with Playwright and CI Integration — Closing the Track

The track's finale. E2E verifies real user flows in a real browser. Playwright setup, where locators fit, the page object pattern in brief, GitHub Actions CI integration, coverage reports, and a recap of all six posts.

AWS in Practice #3: CI/CD — GitHub Actions + ECR + ECS
10 min read

AWS in Practice #3: CI/CD — GitHub Actions + ECR + ECS

GitHub Actions without access keys via OIDC, ECR push, automatic Task Definition updates, ECS Service rolling deployments, deployment circuit breakers and auto-rollback, and a touch of CodeDeploy blue/green — a deployment flow that ends with a single git push.

Docker in Practice #4: Building Images in CI — GitHub Actions and BuildKit Cache
8 min read

Docker in Practice #4: Building Images in CI — GitHub Actions and BuildKit Cache

The standard for building and pushing Docker images in GitHub Actions. docker/build-push-action, BuildKit GHA cache (type=gha), multi-arch (amd64+arm64) builds, build-time secrets, and build-time optimization — all in a single workflow.