Developing with two apps sharing the same Github repository

I am documenting our development workflow. To avoid accidental access to production database (and following the suggestion here, I copied my prodution app to a Github repository, and then created a new development app cloning from this repository. Now I have two separated databases and I am sure we will not accidentaly touch the production db.

The developers are supposed to create a new branch for each feature, and when finish, merge it to master (via a PR), so we can publish master branch into production app.

This looks great, but I noticed that there are some files that are modified by the app settings (for example anvil.yaml). Because of this, we have the risk to merge things to master branch with app configurations that are specific to dev environment.

Is there some tip how to do a workflow like this?

1 Like

Which app configurations are you concerned about, specifically? Looking through my own anvil.yaml, I only see one that seems likely to cause the issue you’re talking about, the Google service.

In any case, it seems like there should be something akin to how secrets are handled to better facilitate this workflow with respect to any such configurations.

If such instance-specific information were kept in a separate file, like instance.yaml, this issue could be managed via .gitignore. But, as it is, if we .gitignore anvil.yaml, we’re going to miss changes that actually should be shared between instances, like the db_schema.