The development cycle is explained below:

Untitled presentation (1)

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