What's the best practice for have a separate staging and production environment?

What’s the best practice for managing deployment and Github for prod/stag deployments.

Do you have separate branches for stag and prod?

Do you have separate YAML files for stag and prod?

etc.

I can think of a few ways, but there are always new creative ways that users think of, so feel free to explore anything that comes to your mind. So, I’m not sure what you mean by “do you have separate branches for staging and prod”, but we recently launched our Preview Environments feature. I’m suggesting this since you asked about using YAML files for staging and production. Preview Environments get created every time you have a new pull request to your main YAML group’s branch. So if you use your production branch with a render.yaml file and enable preview environments, you will be able to see a preview of your pull requests to the prod branch in a separate YAML group, which you can consider for staging. With Preview Environments you can configure your pull request copies of the services to have a different set of environment variables than your production group. Another way to do this is to simply have a separate deployment for your staging branches. With Prev Envs, if you are looking to have your staging as a single deployment at all times (and not scattered into a bunch of pull requests), you can look at branching structures like GitFlow.