Typically, production is running a Tiki stable branch, periodically updated with human supervision.

Below are typical operations for the other environments.

We want a GUI (with permissions on various actions) for various operations. So for example, an end user can create a clone within Tiki without needing help from a sysadmin or developer.

Environments

Staging

Staging is very similar to production. Basically a clone of production with some extra data, configuration and/or code we want to test before we use in production

  • Clone production
  • Update to tip of branch
    • End user can check if a bug is already fixed and just needs an update
  • Apply merge request(s)
  • Git bisect
  • Update to tip of branch
  • Compare with production
    • Useful to check what will be lost if we reclone

Next

This is a clone and upgrade to Tiki trunk. So a great way to test/develop in coordination with Tiki upstream.

  • Clone and upgrade production
    • End user can check if a bug is already fixed and just needs a backport
  • Apply merge request(s)
  • Git bisect
  • Update to tip of branch
  • Compare with production (This could be tricky because of version change)

Ad hoc

These are Tiki instances set up for a specific, short-lived purpose. Ex.:

  • Clone production and apply merge request #628
  • Clone production to a branch (ex. tiki-bootstrap5 branch)