As of 2022-11-25, themes, doc and dev are on 25.x so this page is very useful. You probably want: Pre-dogfood servers for Tiki 26 release process

You can check in the footer of each site to see if it's running 24x, 25x or trunk/master


Executive summary: This page has detailed information of test upgrade sites to help stabilize upcoming Tiki25. Ref: Pre-Dogfood Server

This is very useful for identifying and addressing Regressions in 25x


Information about this process and the server

  • This server was set up by Marc. Contact him for any questions.
  • Status as of 2022-10-08: System is functional and permitting developers to see obvious bugs (stuff you see on front page)
  • InterTiki is activated so you will be able to log in with your usual credentials from tiki.org. If you have issues, ask Marc for access.
  • Since we clone sites with the option --only-data of Tiki Manager, database and data files are transferred but some other things are not transferred (img/wiki_up, any local hacks, etc.) and thus, no point in reporting bugs about that. Instead take the time to fix things on the source sites.
  • Cron jobs:
    • A major refresh is done once per day (reset data to 24x and process to full upgrade)
    • Minor updates are twice per hour to help quickly check if a bug has been fixed
  • On trunk, this has been corrected, but on 24.x, if you see in the footer something like "Last updated (GIT 24.x:bf64a): Thursday 24 of March, 2022 18:01:14 GMT": This doesn't mean that the update was actually that old. It is because it is a commit in Git that was made a long time ago, and only recently added to 24.x You can check by comparing commit IDs here: https://gitlab.com/tikiwiki/tiki/-/commits/24.x/
  • To help with debugging, error reporting has been set to the maximum (All errors and warnings)
  • Except for Manticore testing, Unified index is set to a local Elasticsearch with no MariaDB as a fallback (and not the production Elasticsearch cluster with Federated Search)
    • preference.unified_engine = "elastic"
    • preference.unified_elastic_url = "http://localhost:9200"
    • preference.unified_elastic_index_prefix = "nextdev" (name changes depending on Tiki instance)
    • preference.unified_elastic_mysql_search_fallback = "n"
    • preference.federated_enabled = "n"
  • Memcached was turned off preference.memcache_enabled = "n"
  • Emails are not sent out preference.zend_mail_handler = "file"
  • We asked robots not to index nor follow (but they don't always respect that) preference.metatag_robots = "noindex, nofollow"
  • For the first time, the pre-dogfood server is running Virtualmin (and Debian)
  • The new server is a dedicated server, while the old one is a virtual machine. So performance will be more constant. tiki-check.php benchmark
    • old: 8.716 seconds (but as it's a virtual machine, this can fluctuate quite a bit)
    • new: 7.715 seconds
  • URLs below are to a search page with a lot of results, to help compare search performance

Big decision: Decide together where/how to report regression bugs on these sites

We have so much work to do, and we are already late on our schedule, so we have to be disciplined here. We want trunk to be as stable as possible before we branch to minimize backports. As part of the release process, we are only interested in:

  • Regression bugs from Tiki 24 to Tiki25 (regressions from 23 to 25: not the time)
  • Bugs visible on our dogfood servers (easy to see, easy to check they are fixed)
  • Bugs for key new features

For regular bugs, there is a clear process: Make a wish. But for regression bugs visible on these dogfood sites, it's acceptable, and possibly more efficient to have an alternative process. In the past, we have done dev mailing list, wiki page, chat, bug tracker. Each can work, but we must converge on a common solution/process to be efficient. We could very well have a different process for Manticore vs PHP 8.1 vs Markdown-WYSIWYG vs other (regular) upgrade bugs.

Todos

  • Check OpCache stats in a few days to see how we are doing (Marc) Done on 2022-10-09, will check again in a few days to see if it was enough.
  • Setup htpasswd u: next p: next (Horia?)
  • Activate GlitchTip. Let's start with a small sampling of error messages, and increase it as we fix the errors. (Anyone can volunteer?)

Why

We want pre-dogfood servers to help testing and make the release process smoother. Tiki25 is an exceptional release with WYSIWYG and Markdown which is a massive change, yet it should only impact sites activating it. We want to make sure of this. And we are also adding support for PHP 8.1

1.1. Sites

We make clones, and use System Configuration. See also Divergent Preferences in Staging Development Production.

1.1.1. Simple clone

A direct clone launched manually as needed (ex.: when data has been cleaned and we want to refresh)


Useful

  • to compare performance of two servers
  • to serve as a local data copy, avoid hammering production server for other clones (next sections)

1.1.2. Stable to trunk

Testing straight upgrades without any move to WYSIWYG and Markdown. This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


Please report bugs here: Regressions in 25x

1.1.3. Trunk with markdown activated

This is where we simulate the experience of a community that wants to migrate to Markdown. This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


This profile is applied https://profiles.tiki.org/Markdown-Settings
And content is converted: turned off as of 2022-10-10 so Victor can run manually and see errors

php console.php markdown:convert --markdown --save -vv


Pull requests are welcome, however, do not report bugs on this, as our developers are not finished fixing the bugs they already know about.

1.1.4. Trunk with Manticore

This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


Pull requests are welcome, however, do not report bugs on this, as our developers are not finished fixing the bugs they already know about.

1.1.5. Trunk with PHP81

This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


Pull requests are most welcome!

And please report issues here: Regressions with PHP8

1.1.6. next.tiki.org

next.tiki.org is a distinct process. Please reach out to Oliver about this.

Cron jobs

root:~# crontab -l

# Paris time

# Clone and upgrade all dogfood sites: full reset of data from local clone (which can be a few days old), and use of upgrade scripts.
# Daily at 01:20
20 1 * * * sh /root/predogfood.sh

About other sites

The following sites won't have pre-dogfood servers unless someone requests them: