Create GitHub Action workflows to automatically deploy to specific environments depending on the trigger context, utilizing Cloudflare Tunnels for SSH access in the runner using and-fm/cloudflared-ssh-action:
- Production (
deploy.yml): Deploys themasterbranch to the production server. - QA (
deploy-qa.yml): Deploys a Pull Request branch to a dedicated QA instance using a specific QA Docker tag (qa) after CI checks (linting and testing) pass successfully.
The following GitHub Secrets map directly to the requirements in both workflows (Settings -> Secrets and variables -> Actions -> New repository secret).
