Work in progress · Version 1.1, last updated 6 November 2026
Platform

Deployment pipelines

Every system deploys from GitHub through AWS CodePipeline. Every production deploy needs a manual approval.

Pipelines by system

All pipelines are built from one shared library and pull from the PadiWW GitHub organisation. Seventeen pipelines serve the website, edge and finder; the CI/CD account also runs four for the PADI mobile app, outside the scope of this document. Development and staging pipelines run in the CI/CD account. Production pipelines run in the production account: the finder's already, with the frontend, Drupal, edge and zone pipelines moving there.

System Repository Environments Stages Approval Checks
Frontend padi.com dev, stage, prod Source, Verify, Deploy, Audit (post-deploy smoke) Production 9-check pull-request gate (lint, format, types, unit tests with 90% coverage floor, docs, translations, build, Storybook, infrastructure); build fails on missing navigation or a leaked secret; post-deploy smoke in every environment
Drupal drupal.padi.com dev, stage, prod Source, Verify, Coverage, Deploy (database backup on stage and prod), Audit (production) Production 8 parallel PHPUnit shards with an 80% coverage floor; production smoke test
Edge Workers edge.padi.com dev, stage, prod Development: Source, Verify, Deploy, live check. Staging: Source, Approve, Deploy, live check. Production: Source, Approve, Deploy Staging, production Lint, tests, Worker build, infrastructure plan on development; real-URL replay after development and staging deploys
Cloudflare zone edge.padi.com padi.com zone Source, Approve, Terraform apply Yes Nightly drift check
Search search.padi.com dev, stage, prod Development: Source, Verify, Coverage, infrastructure, host rollout, schema, rebuild. Staging: Source, Deploy. Production: Source, Approve, infrastructure, host rollout, schema, rebuild Production Coverage floors (API 92%, data 58% unit and 94% with integration); integration tests against real OpenSearch and PostGIS (development)
Locator locator.padi.com dev, stage, prod Development: Source, Verify, infrastructure, host rollout. Staging: Source, Deploy. Production: Source, Approve, infrastructure, host rollout Production 95% coverage floor; API contract check (development)
CI library ci.padi.com Published package Source, Verify, Release None; a merge publishes the version in package.json if it is new Library tests, shell checks

Promotion flow

Figure 32. Changes flow one way. A finder change that only affects production goes to production first and is then merged back to staging and development.
Figure 32. Changes flow one way. A finder change that only affects production goes to production first and is then merged back to staging and development.

Deploy sequence (web)

Figure 33. Web deploy. Rollback switches the environment back to the previous tag.
Figure 33. Web deploy. Rollback switches the environment back to the previous tag.

Finder hosts follow the same pattern with infrastructure first, then a host-by-host rollout over AWS SSM: each host leaves the load balancer, updates, passes its health check and returns. With a single host, the pipeline starts a second host on the new release and then retires the old one.