This page is only relevant for the maintainer(s) of this project.
The application is deployed on Netlify. The database is hosted on Turso.
Most pages are prerendered for performance reasons. This implies that the database is consumed at build time to generate static HTML pages. The only non-prerendered pages are the search and comparison pages, since they involve a dynamic list of properties and categories.
Since deployment requires running pnpm db:update, which temporarily clears all tables in the database, we maintain a separate remote database catdat-preview on Turso as a copy of the production database catdat. This prevents temporary disruptions and data inconsistencies in production.
Follow these steps to deploy to production:
- Preview Deployment. On GitHub's actions page, manually trigger the preview pipeline deploy-preview.yaml.
It updates the remote preview database (catdat-preview) via pnpm db:update, builds the application, and creates a deployment preview on Netlify. The production database and application remain unchanged in this step.
- Promote to Production. If the deployment preview looks correct, promote it to production in Netlify's Deploys UI.
The updated application goes live and uses the preview database.
- Production Deployment. On GitHub's actions page, manually trigger the pipeline deploy-prod.yaml.
This pipeline updates the remote production database (catdat) via pnpm db:update (hence, consolidates it with the preview database catdat-preview), builds the application, and deploys it on Netlify. The previous deployment preview is no longer live.
In case only the application, not the database has been updated since the last production deployment, the pipeline deploy-prod-skip-db can be used. The preview deployment is not required.
- Main domain: https://catdat.app
- Backup domain: https://catdat.netlify.app