History: How to release
Source of version: 87 (current)
Copy to clipboard
Before this step: ((How to release Preparation))
{maketoc}
!
{DIV(class="pull-right col-sm-4")}{toc}
{DIV}
!!# Requirements
# Unix shell environment, Linux or OSX suitable.
# Git
# PHP 7.x or 8.x CLI with MySQL, iconv, DOM and SimpleXML extensions. __Note about php versions:__ Use PHP 7.x for Tiki 25.x releases and lower, and PHP 8.x for Tiki 26.x releases and upper.
# PHP configuration must allow running external programs (like shell scripts)
# Starting from Tiki 27.x and later versions release, Node.js and NPM are required for the JavasScript build system(for js and css compilation). Please check the required the versions in package.json at the root of the project in the "engines" property.
# 7za or 7z needed for creating 7zip archives. (may be installed in OSX through homebrew by typing -+brew install p7zip+-)
# Plenty of disk space and memory ;) - at least 64M of memory for php (in php.ini for php-cli)
# The main packaging script is at [https://sourceforge.net/p/tikiwiki/code/HEAD/tree/trunk/doc/devtools/release.php|doc/devtools/release.php] but releasing a Tiki version is a lot more than just running the packaging script :-)
---
{include page="How-to-Release-requirements-section"}
---
{include page="Release-Steps"}
---
!!!# Update show2.t.o info (Skipped until note is resolved)
__Note__: There is currently no infrastructure for creating show*.t.o instances for Tiki 26 and above. This needs to be discussed with Marc.
Some refs: https://avan.tech/item138114 and https://dev.tiki.org/item8491-Show2-instance-server-doesn-t-easily-support-Tiki26
Please coordinate with Marc to achieve this step, you need access on dev.t.o and show.t.o server.
There are still a few extra steps needed, like updating the dev.t.o tracker5 & show2.t.o server to allow users to reproduce bugs in tiki instances using the new version, etc.
!!!!# checkout that version in the local cache folder of tiki in show2.t.o
In order to have a new tiki version available in show*.t.o, a new folder and vcs checkout need to be added manually at show2.tiki.org under:
-+/usr/local/src/tiki+-
in show2.tiki.org
It's using subversion.
!!!!# tell tim to manage also that branch to update tiki from that version also
Meet TIM: ((TIM))
And some script need to have this new version added as a name of branches to work with. Editing this file:
-+/usr/local/sbin/tim-common+-
and add the new version (23.x in this example) at this line starting with "BRANCHES=":
{CODE()}
BRANCHES="trunk 23.x 22.x 21.x 20.x 19.x 18.x"
{CODE}
!!!!# make a tar.gz file from the new branch
This way, making new instances will not need to get the whole tiki file tree from subversion, but they will start by copying and unpacking a pre-fetched tiki version for that branch, and just updating that file tree through subversion. If you don't make tar.gz file, new show instance creation will fail.
And you need to create that tar.gz without the prefix of the parent folder where the new branch is. You can do so with thee type of commands:
{CODE(colors="shell" ln="1" caption"Example for new branch 23.x in show2.tiki.org server")}
cd /usr/local/src/tiki/
cd 23.x
ln -s _htaccess .htaccess
tar -czvf ../23.x.tar.gz ./ -R
{CODE}
!!!!# update the field in tracker5 at dev.t.o to allow users to choose that version
Edit this field "Demonstrate Bug (Tiki 19+)":
https://dev.tiki.org/tiki-tracker-edit_field?trackerId=5&fieldId=236&modal=1
Add the new version (23.x in this example) in this field of the form:
__Options for show.tiki.org > Supported Versions__ : -+trunk,23.x,22.x,21.x,20.x,19.x,18.x+-
!! Related
* ((How to release Preparation))
* ((How to release: Branching))
* ((How to release: Follow up))
* ((How to Use the Release Server))
~tc~ (alias(How to release Releasing)) | (alias(Release process)) | (alias(ReleaseProcess)) ~/tc~
~tc~ (alias(How to release: Releasing)) ~/tc~