The development cycle is explained below: ![dev_cycle](./img/dev_cycle.png) Devnet: - continuous development for active version - can be reset - should be against a branch named with the version being developed (example: 10.2.3) Nextnet: - for parallel version development - oftentimes, the next major version while development has bugfixes - should be against a branch named with the version being developed (example: 10.3.1) QAnet: - once development is complete, each component is tagged with an rc (example: 10.2.3-rc1) and the new version to be tested is deployed on QAnet - this net is for INTERNAL QA - Here, we expect most bugs to be reported - Once QA signs off, it moves to testnet Testnet: - tag as beta release (example: 10.2.3-rc3-beta) - This is for the community and stability testing - should be almost completely stable Mainnet: - if testnet has no blockers for 2 weeks, community votes to move to mainnet - everything is merged to main - final release is tagged (example: 10.2.3) ## GOAL: moving away from that model to be able to use ephermal environments instead of maintaining such environments, but now they're available for simplicity